|
WITH BitwiseValues AS
(
SELECT CAST(1 AS INT) AS RowNumber, CAST(0 AS INT) AS BitValue
UNION ALL
SELECT b1.RowNumber+1 AS RowNumber, POWER(2, b1.RowNumber-1) AS BitValue
FROM BitwiseValues b1
WHERE b1.RowNumber < 30
)
SELECT *
FROM BitwiseValues
;
RowNumber |
BitValue |
1 |
0 |
2 |
1 |
3 |
2 |
4 |
4 |
5 |
8 |
6 |
16 |
7 |
32 |
8 |
64 |
9 |
128 |
10 |
256 |
11 |
512 |
12 |
1024 |
13 |
2048 |
14 |
4096 |
15 |
8192 |
16 |
16384 |
17 |
32768 |
18 |
65536 |
19 |
131072 |
20 |
262144 |
21 |
524288 |
22 |
1048576 |
23 |
2097152 |
24 |
4194304 |
25 |
8388608 |
26 |
16777216 |
27 |
33554432 |
28 |
67108864 |
29 |
134217728 |
30 |
268435456 |
… |
|