Intro
# https://data-flair.training/blogs/python-bitwise-operators/
print(5 and 7) # returns 7
print(5 & 7) # returns 5
Bitwise & (AND)
out =
for j in range(8):
for i in range(8):
out += str(i & j))
print(out)
out =
Returns
00000000
01010101
00220022
01230123
00004444
01014545
00224466
01234567
Another look
for j in range(8):
print(f'j={j}:{j:04b}')
print([j&i if j & i !=0 else 0 for i in range(8)])
for i in range(8):
print(f'i={i}:{i:04b} j&i!=0? {int(j&i!=0)} {j&i} {(j&i):04b}')
print('-------------------------')
Returns
j=0:0000
[0, 0, 0, 0, 0, 0, 0, 0]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 0 0 0000
i=2:0010 j&i!=0? 0 0 0000
i=3:0011 j&i!=0? 0 0 0000
i=4:0100 j&i!=0? 0 0 0000
i=5:0101 j&i!=0? 0 0 0000
i=6:0110 j&i!=0? 0 0 0000
i=7:0111 j&i!=0? 0 0 0000
-------------------------
j=1:0001
[0, 1, 0, 1, 0, 1, 0, 1]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 1 1 0001
i=2:0010 j&i!=0? 0 0 0000
i=3:0011 j&i!=0? 1 1 0001
i=4:0100 j&i!=0? 0 0 0000
i=5:0101 j&i!=0? 1 1 0001
i=6:0110 j&i!=0? 0 0 0000
i=7:0111 j&i!=0? 1 1 0001
-------------------------
j=2:0010
[0, 0, 2, 2, 0, 0, 2, 2]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 0 0 0000
i=2:0010 j&i!=0? 1 2 0010
i=3:0011 j&i!=0? 1 2 0010
i=4:0100 j&i!=0? 0 0 0000
i=5:0101 j&i!=0? 0 0 0000
i=6:0110 j&i!=0? 1 2 0010
i=7:0111 j&i!=0? 1 2 0010
-------------------------
j=3:0011
[0, 1, 2, 3, 0, 1, 2, 3]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 1 1 0001
i=2:0010 j&i!=0? 1 2 0010
i=3:0011 j&i!=0? 1 3 0011
i=4:0100 j&i!=0? 0 0 0000
i=5:0101 j&i!=0? 1 1 0001
i=6:0110 j&i!=0? 1 2 0010
i=7:0111 j&i!=0? 1 3 0011
-------------------------
j=4:0100
[0, 0, 0, 0, 4, 4, 4, 4]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 0 0 0000
i=2:0010 j&i!=0? 0 0 0000
i=3:0011 j&i!=0? 0 0 0000
i=4:0100 j&i!=0? 1 4 0100
i=5:0101 j&i!=0? 1 4 0100
i=6:0110 j&i!=0? 1 4 0100
i=7:0111 j&i!=0? 1 4 0100
-------------------------
j=5:0101
[0, 1, 0, 1, 4, 5, 4, 5]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 1 1 0001
i=2:0010 j&i!=0? 0 0 0000
i=3:0011 j&i!=0? 1 1 0001
i=4:0100 j&i!=0? 1 4 0100
i=5:0101 j&i!=0? 1 5 0101
i=6:0110 j&i!=0? 1 4 0100
i=7:0111 j&i!=0? 1 5 0101
-------------------------
j=6:0110
[0, 0, 2, 2, 4, 4, 6, 6]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 0 0 0000
i=2:0010 j&i!=0? 1 2 0010
i=3:0011 j&i!=0? 1 2 0010
i=4:0100 j&i!=0? 1 4 0100
i=5:0101 j&i!=0? 1 4 0100
i=6:0110 j&i!=0? 1 6 0110
i=7:0111 j&i!=0? 1 6 0110
-------------------------
j=7:0111
[0, 1, 2, 3, 4, 5, 6, 7]
i=0:0000 j&i!=0? 0 0 0000
i=1:0001 j&i!=0? 1 1 0001
i=2:0010 j&i!=0? 1 2 0010
i=3:0011 j&i!=0? 1 3 0011
i=4:0100 j&i!=0? 1 4 0100
i=5:0101 j&i!=0? 1 5 0101
i=6:0110 j&i!=0? 1 6 0110
i=7:0111 j&i!=0? 1 7 0111
-------------------------
Bitwise | (OR)
out =
for j in range(8):
for i in range(8):
out += str(i | j)
print(out)
out =
Returns
01234567
11335577
23236767
33337777
45674567
55775577
67676767
77777777
Another look
for j in range(8):
print(f'j={j}:{j:04b}')
print([j|i if j | i !=0 else 0 for i in range(8)])
for i in range(8):
print(f'i={i}:{i:04b} j|i!=0? {int(j|i!=0)} {j|i} {(j|i):04b}')
print('-------------------------')
Returns
j=0:0000
[0, 1, 2, 3, 4, 5, 6, 7]
i=0:0000 j|i!=0? 0 0 0000
i=1:0001 j|i!=0? 1 1 0001
i=2:0010 j|i!=0? 1 2 0010
i=3:0011 j|i!=0? 1 3 0011
i=4:0100 j|i!=0? 1 4 0100
i=5:0101 j|i!=0? 1 5 0101
i=6:0110 j|i!=0? 1 6 0110
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=1:0001
[1, 1, 3, 3, 5, 5, 7, 7]
i=0:0000 j|i!=0? 1 1 0001
i=1:0001 j|i!=0? 1 1 0001
i=2:0010 j|i!=0? 1 3 0011
i=3:0011 j|i!=0? 1 3 0011
i=4:0100 j|i!=0? 1 5 0101
i=5:0101 j|i!=0? 1 5 0101
i=6:0110 j|i!=0? 1 7 0111
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=2:0010
[2, 3, 2, 3, 6, 7, 6, 7]
i=0:0000 j|i!=0? 1 2 0010
i=1:0001 j|i!=0? 1 3 0011
i=2:0010 j|i!=0? 1 2 0010
i=3:0011 j|i!=0? 1 3 0011
i=4:0100 j|i!=0? 1 6 0110
i=5:0101 j|i!=0? 1 7 0111
i=6:0110 j|i!=0? 1 6 0110
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=3:0011
[3, 3, 3, 3, 7, 7, 7, 7]
i=0:0000 j|i!=0? 1 3 0011
i=1:0001 j|i!=0? 1 3 0011
i=2:0010 j|i!=0? 1 3 0011
i=3:0011 j|i!=0? 1 3 0011
i=4:0100 j|i!=0? 1 7 0111
i=5:0101 j|i!=0? 1 7 0111
i=6:0110 j|i!=0? 1 7 0111
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=4:0100
[4, 5, 6, 7, 4, 5, 6, 7]
i=0:0000 j|i!=0? 1 4 0100
i=1:0001 j|i!=0? 1 5 0101
i=2:0010 j|i!=0? 1 6 0110
i=3:0011 j|i!=0? 1 7 0111
i=4:0100 j|i!=0? 1 4 0100
i=5:0101 j|i!=0? 1 5 0101
i=6:0110 j|i!=0? 1 6 0110
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=5:0101
[5, 5, 7, 7, 5, 5, 7, 7]
i=0:0000 j|i!=0? 1 5 0101
i=1:0001 j|i!=0? 1 5 0101
i=2:0010 j|i!=0? 1 7 0111
i=3:0011 j|i!=0? 1 7 0111
i=4:0100 j|i!=0? 1 5 0101
i=5:0101 j|i!=0? 1 5 0101
i=6:0110 j|i!=0? 1 7 0111
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=6:0110
[6, 7, 6, 7, 6, 7, 6, 7]
i=0:0000 j|i!=0? 1 6 0110
i=1:0001 j|i!=0? 1 7 0111
i=2:0010 j|i!=0? 1 6 0110
i=3:0011 j|i!=0? 1 7 0111
i=4:0100 j|i!=0? 1 6 0110
i=5:0101 j|i!=0? 1 7 0111
i=6:0110 j|i!=0? 1 6 0110
i=7:0111 j|i!=0? 1 7 0111
-------------------------
j=7:0111
[7, 7, 7, 7, 7, 7, 7, 7]
i=0:0000 j|i!=0? 1 7 0111
i=1:0001 j|i!=0? 1 7 0111
i=2:0010 j|i!=0? 1 7 0111
i=3:0011 j|i!=0? 1 7 0111
i=4:0100 j|i!=0? 1 7 0111
i=5:0101 j|i!=0? 1 7 0111
i=6:0110 j|i!=0? 1 7 0111
i=7:0111 j|i!=0? 1 7 0111
-------------------------
Bitwise ^ (XOR)
out =
for j in range(8):
for i in range(8):
out += str(i ^ j)
print(out)
out =
Returns
01234567
10325476
23016745
32107654
45670123
54761032
67452301
76543210
Another look
for j in range(8):
print(f'j={j}:{j:04b}')
print([j^i if j ^ i !=0 else 0 for i in range(8)])
for i in range(8):
print(f'i={i}:{i:04b} j^i!=0? {int(j^i!=0)} {j^i} {(j^i):04b}')
print('-------------------------')
Returns
j=0:0000
[0, 1, 2, 3, 4, 5, 6, 7]
i=0:0000 j^i!=0? 0 0 0000
i=1:0001 j^i!=0? 1 1 0001
i=2:0010 j^i!=0? 1 2 0010
i=3:0011 j^i!=0? 1 3 0011
i=4:0100 j^i!=0? 1 4 0100
i=5:0101 j^i!=0? 1 5 0101
i=6:0110 j^i!=0? 1 6 0110
i=7:0111 j^i!=0? 1 7 0111
-------------------------
j=1:0001
[1, 0, 3, 2, 5, 4, 7, 6]
i=0:0000 j^i!=0? 1 1 0001
i=1:0001 j^i!=0? 0 0 0000
i=2:0010 j^i!=0? 1 3 0011
i=3:0011 j^i!=0? 1 2 0010
i=4:0100 j^i!=0? 1 5 0101
i=5:0101 j^i!=0? 1 4 0100
i=6:0110 j^i!=0? 1 7 0111
i=7:0111 j^i!=0? 1 6 0110
-------------------------
j=2:0010
[2, 3, 0, 1, 6, 7, 4, 5]
i=0:0000 j^i!=0? 1 2 0010
i=1:0001 j^i!=0? 1 3 0011
i=2:0010 j^i!=0? 0 0 0000
i=3:0011 j^i!=0? 1 1 0001
i=4:0100 j^i!=0? 1 6 0110
i=5:0101 j^i!=0? 1 7 0111
i=6:0110 j^i!=0? 1 4 0100
i=7:0111 j^i!=0? 1 5 0101
-------------------------
j=3:0011
[3, 2, 1, 0, 7, 6, 5, 4]
i=0:0000 j^i!=0? 1 3 0011
i=1:0001 j^i!=0? 1 2 0010
i=2:0010 j^i!=0? 1 1 0001
i=3:0011 j^i!=0? 0 0 0000
i=4:0100 j^i!=0? 1 7 0111
i=5:0101 j^i!=0? 1 6 0110
i=6:0110 j^i!=0? 1 5 0101
i=7:0111 j^i!=0? 1 4 0100
-------------------------
j=4:0100
[4, 5, 6, 7, 0, 1, 2, 3]
i=0:0000 j^i!=0? 1 4 0100
i=1:0001 j^i!=0? 1 5 0101
i=2:0010 j^i!=0? 1 6 0110
i=3:0011 j^i!=0? 1 7 0111
i=4:0100 j^i!=0? 0 0 0000
i=5:0101 j^i!=0? 1 1 0001
i=6:0110 j^i!=0? 1 2 0010
i=7:0111 j^i!=0? 1 3 0011
-------------------------
j=5:0101
[5, 4, 7, 6, 1, 0, 3, 2]
i=0:0000 j^i!=0? 1 5 0101
i=1:0001 j^i!=0? 1 4 0100
i=2:0010 j^i!=0? 1 7 0111
i=3:0011 j^i!=0? 1 6 0110
i=4:0100 j^i!=0? 1 1 0001
i=5:0101 j^i!=0? 0 0 0000
i=6:0110 j^i!=0? 1 3 0011
i=7:0111 j^i!=0? 1 2 0010
-------------------------
j=6:0110
[6, 7, 4, 5, 2, 3, 0, 1]
i=0:0000 j^i!=0? 1 6 0110
i=1:0001 j^i!=0? 1 7 0111
i=2:0010 j^i!=0? 1 4 0100
i=3:0011 j^i!=0? 1 5 0101
i=4:0100 j^i!=0? 1 2 0010
i=5:0101 j^i!=0? 1 3 0011
i=6:0110 j^i!=0? 0 0 0000
i=7:0111 j^i!=0? 1 1 0001
-------------------------
j=7:0111
[7, 6, 5, 4, 3, 2, 1, 0]
i=0:0000 j^i!=0? 1 7 0111
i=1:0001 j^i!=0? 1 6 0110
i=2:0010 j^i!=0? 1 5 0101
i=3:0011 j^i!=0? 1 4 0100
i=4:0100 j^i!=0? 1 3 0011
i=5:0101 j^i!=0? 1 2 0010
i=6:0110 j^i!=0? 1 1 0001
i=7:0111 j^i!=0? 0 0 0000
-------------------------
Using & to represent binary numbers
po2 = [128,64,32,16,8,4,2,1]
for i in range(256):
print(f'================= {i:3d} ==================')
print([f'{k:3d}' if i & k != 0 else f'{0:3d}' for k in po2])
print([f'{1:3d}' if i & k != 0 else f'{0:3d}' for k in po2])
# print('{0:08b}'.format(sum([k for k in po2 if i & k != 0])))
# print('{0:08b}'.format(i))
Returns
================= 0 ==================
[ 0, 0, 0, 0, 0, 0, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0, 0]
================= 1 ==================
[ 0, 0, 0, 0, 0, 0, 0, 1]
[ 0, 0, 0, 0, 0, 0, 0, 1]
================= 2 ==================
[ 0, 0, 0, 0, 0, 0, 2, 0]
[ 0, 0, 0, 0, 0, 0, 1, 0]
================= 3 ==================
[ 0, 0, 0, 0, 0, 0, 2, 1]
[ 0, 0, 0, 0, 0, 0, 1, 1]
================= 4 ==================
[ 0, 0, 0, 0, 0, 4, 0, 0]
[ 0, 0, 0, 0, 0, 1, 0, 0]
================= 5 ==================
[ 0, 0, 0, 0, 0, 4, 0, 1]
[ 0, 0, 0, 0, 0, 1, 0, 1]
================= 6 ==================
[ 0, 0, 0, 0, 0, 4, 2, 0]
[ 0, 0, 0, 0, 0, 1, 1, 0]
================= 7 ==================
[ 0, 0, 0, 0, 0, 4, 2, 1]
[ 0, 0, 0, 0, 0, 1, 1, 1]
================= 8 ==================
[ 0, 0, 0, 0, 8, 0, 0, 0]
[ 0, 0, 0, 0, 1, 0, 0, 0]
================= 9 ==================
[ 0, 0, 0, 0, 8, 0, 0, 1]
[ 0, 0, 0, 0, 1, 0, 0, 1]
================= 10 ==================
[ 0, 0, 0, 0, 8, 0, 2, 0]
[ 0, 0, 0, 0, 1, 0, 1, 0]
================= 11 ==================
[ 0, 0, 0, 0, 8, 0, 2, 1]
[ 0, 0, 0, 0, 1, 0, 1, 1]
================= 12 ==================
[ 0, 0, 0, 0, 8, 4, 0, 0]
[ 0, 0, 0, 0, 1, 1, 0, 0]
================= 13 ==================
[ 0, 0, 0, 0, 8, 4, 0, 1]
[ 0, 0, 0, 0, 1, 1, 0, 1]
================= 14 ==================
[ 0, 0, 0, 0, 8, 4, 2, 0]
[ 0, 0, 0, 0, 1, 1, 1, 0]
================= 15 ==================
[ 0, 0, 0, 0, 8, 4, 2, 1]
[ 0, 0, 0, 0, 1, 1, 1, 1]
================= 16 ==================
[ 0, 0, 0, 16, 0, 0, 0, 0]
[ 0, 0, 0, 1, 0, 0, 0, 0]
================= 17 ==================
[ 0, 0, 0, 16, 0, 0, 0, 1]
[ 0, 0, 0, 1, 0, 0, 0, 1]
================= 18 ==================
[ 0, 0, 0, 16, 0, 0, 2, 0]
[ 0, 0, 0, 1, 0, 0, 1, 0]
================= 19 ==================
[ 0, 0, 0, 16, 0, 0, 2, 1]
[ 0, 0, 0, 1, 0, 0, 1, 1]
================= 20 ==================
[ 0, 0, 0, 16, 0, 4, 0, 0]
[ 0, 0, 0, 1, 0, 1, 0, 0]
================= 21 ==================
[ 0, 0, 0, 16, 0, 4, 0, 1]
[ 0, 0, 0, 1, 0, 1, 0, 1]
================= 22 ==================
[ 0, 0, 0, 16, 0, 4, 2, 0]
[ 0, 0, 0, 1, 0, 1, 1, 0]
================= 23 ==================
[ 0, 0, 0, 16, 0, 4, 2, 1]
[ 0, 0, 0, 1, 0, 1, 1, 1]
================= 24 ==================
[ 0, 0, 0, 16, 8, 0, 0, 0]
[ 0, 0, 0, 1, 1, 0, 0, 0]
================= 25 ==================
[ 0, 0, 0, 16, 8, 0, 0, 1]
[ 0, 0, 0, 1, 1, 0, 0, 1]
================= 26 ==================
[ 0, 0, 0, 16, 8, 0, 2, 0]
[ 0, 0, 0, 1, 1, 0, 1, 0]
================= 27 ==================
[ 0, 0, 0, 16, 8, 0, 2, 1]
[ 0, 0, 0, 1, 1, 0, 1, 1]
================= 28 ==================
[ 0, 0, 0, 16, 8, 4, 0, 0]
[ 0, 0, 0, 1, 1, 1, 0, 0]
================= 29 ==================
[ 0, 0, 0, 16, 8, 4, 0, 1]
[ 0, 0, 0, 1, 1, 1, 0, 1]
================= 30 ==================
[ 0, 0, 0, 16, 8, 4, 2, 0]
[ 0, 0, 0, 1, 1, 1, 1, 0]
================= 31 ==================
[ 0, 0, 0, 16, 8, 4, 2, 1]
[ 0, 0, 0, 1, 1, 1, 1, 1]
================= 32 ==================
[ 0, 0, 32, 0, 0, 0, 0, 0]
[ 0, 0, 1, 0, 0, 0, 0, 0]
================= 33 ==================
[ 0, 0, 32, 0, 0, 0, 0, 1]
[ 0, 0, 1, 0, 0, 0, 0, 1]
================= 34 ==================
[ 0, 0, 32, 0, 0, 0, 2, 0]
[ 0, 0, 1, 0, 0, 0, 1, 0]
================= 35 ==================
[ 0, 0, 32, 0, 0, 0, 2, 1]
[ 0, 0, 1, 0, 0, 0, 1, 1]
================= 36 ==================
[ 0, 0, 32, 0, 0, 4, 0, 0]
[ 0, 0, 1, 0, 0, 1, 0, 0]
================= 37 ==================
[ 0, 0, 32, 0, 0, 4, 0, 1]
[ 0, 0, 1, 0, 0, 1, 0, 1]
================= 38 ==================
[ 0, 0, 32, 0, 0, 4, 2, 0]
[ 0, 0, 1, 0, 0, 1, 1, 0]
================= 39 ==================
[ 0, 0, 32, 0, 0, 4, 2, 1]
[ 0, 0, 1, 0, 0, 1, 1, 1]
================= 40 ==================
[ 0, 0, 32, 0, 8, 0, 0, 0]
[ 0, 0, 1, 0, 1, 0, 0, 0]
================= 41 ==================
[ 0, 0, 32, 0, 8, 0, 0, 1]
[ 0, 0, 1, 0, 1, 0, 0, 1]
================= 42 ==================
[ 0, 0, 32, 0, 8, 0, 2, 0]
[ 0, 0, 1, 0, 1, 0, 1, 0]
================= 43 ==================
[ 0, 0, 32, 0, 8, 0, 2, 1]
[ 0, 0, 1, 0, 1, 0, 1, 1]
================= 44 ==================
[ 0, 0, 32, 0, 8, 4, 0, 0]
[ 0, 0, 1, 0, 1, 1, 0, 0]
================= 45 ==================
[ 0, 0, 32, 0, 8, 4, 0, 1]
[ 0, 0, 1, 0, 1, 1, 0, 1]
================= 46 ==================
[ 0, 0, 32, 0, 8, 4, 2, 0]
[ 0, 0, 1, 0, 1, 1, 1, 0]
================= 47 ==================
[ 0, 0, 32, 0, 8, 4, 2, 1]
[ 0, 0, 1, 0, 1, 1, 1, 1]
================= 48 ==================
[ 0, 0, 32, 16, 0, 0, 0, 0]
[ 0, 0, 1, 1, 0, 0, 0, 0]
================= 49 ==================
[ 0, 0, 32, 16, 0, 0, 0, 1]
[ 0, 0, 1, 1, 0, 0, 0, 1]
================= 50 ==================
[ 0, 0, 32, 16, 0, 0, 2, 0]
[ 0, 0, 1, 1, 0, 0, 1, 0]
================= 51 ==================
[ 0, 0, 32, 16, 0, 0, 2, 1]
[ 0, 0, 1, 1, 0, 0, 1, 1]
================= 52 ==================
[ 0, 0, 32, 16, 0, 4, 0, 0]
[ 0, 0, 1, 1, 0, 1, 0, 0]
================= 53 ==================
[ 0, 0, 32, 16, 0, 4, 0, 1]
[ 0, 0, 1, 1, 0, 1, 0, 1]
================= 54 ==================
[ 0, 0, 32, 16, 0, 4, 2, 0]
[ 0, 0, 1, 1, 0, 1, 1, 0]
================= 55 ==================
[ 0, 0, 32, 16, 0, 4, 2, 1]
[ 0, 0, 1, 1, 0, 1, 1, 1]
================= 56 ==================
[ 0, 0, 32, 16, 8, 0, 0, 0]
[ 0, 0, 1, 1, 1, 0, 0, 0]
================= 57 ==================
[ 0, 0, 32, 16, 8, 0, 0, 1]
[ 0, 0, 1, 1, 1, 0, 0, 1]
================= 58 ==================
[ 0, 0, 32, 16, 8, 0, 2, 0]
[ 0, 0, 1, 1, 1, 0, 1, 0]
================= 59 ==================
[ 0, 0, 32, 16, 8, 0, 2, 1]
[ 0, 0, 1, 1, 1, 0, 1, 1]
================= 60 ==================
[ 0, 0, 32, 16, 8, 4, 0, 0]
[ 0, 0, 1, 1, 1, 1, 0, 0]
================= 61 ==================
[ 0, 0, 32, 16, 8, 4, 0, 1]
[ 0, 0, 1, 1, 1, 1, 0, 1]
================= 62 ==================
[ 0, 0, 32, 16, 8, 4, 2, 0]
[ 0, 0, 1, 1, 1, 1, 1, 0]
================= 63 ==================
[ 0, 0, 32, 16, 8, 4, 2, 1]
[ 0, 0, 1, 1, 1, 1, 1, 1]
================= 64 ==================
[ 0, 64, 0, 0, 0, 0, 0, 0]
[ 0, 1, 0, 0, 0, 0, 0, 0]
================= 65 ==================
[ 0, 64, 0, 0, 0, 0, 0, 1]
[ 0, 1, 0, 0, 0, 0, 0, 1]
================= 66 ==================
[ 0, 64, 0, 0, 0, 0, 2, 0]
[ 0, 1, 0, 0, 0, 0, 1, 0]
================= 67 ==================
[ 0, 64, 0, 0, 0, 0, 2, 1]
[ 0, 1, 0, 0, 0, 0, 1, 1]
================= 68 ==================
[ 0, 64, 0, 0, 0, 4, 0, 0]
[ 0, 1, 0, 0, 0, 1, 0, 0]
================= 69 ==================
[ 0, 64, 0, 0, 0, 4, 0, 1]
[ 0, 1, 0, 0, 0, 1, 0, 1]
================= 70 ==================
[ 0, 64, 0, 0, 0, 4, 2, 0]
[ 0, 1, 0, 0, 0, 1, 1, 0]
================= 71 ==================
[ 0, 64, 0, 0, 0, 4, 2, 1]
[ 0, 1, 0, 0, 0, 1, 1, 1]
================= 72 ==================
[ 0, 64, 0, 0, 8, 0, 0, 0]
[ 0, 1, 0, 0, 1, 0, 0, 0]
================= 73 ==================
[ 0, 64, 0, 0, 8, 0, 0, 1]
[ 0, 1, 0, 0, 1, 0, 0, 1]
================= 74 ==================
[ 0, 64, 0, 0, 8, 0, 2, 0]
[ 0, 1, 0, 0, 1, 0, 1, 0]
================= 75 ==================
[ 0, 64, 0, 0, 8, 0, 2, 1]
[ 0, 1, 0, 0, 1, 0, 1, 1]
================= 76 ==================
[ 0, 64, 0, 0, 8, 4, 0, 0]
[ 0, 1, 0, 0, 1, 1, 0, 0]
================= 77 ==================
[ 0, 64, 0, 0, 8, 4, 0, 1]
[ 0, 1, 0, 0, 1, 1, 0, 1]
================= 78 ==================
[ 0, 64, 0, 0, 8, 4, 2, 0]
[ 0, 1, 0, 0, 1, 1, 1, 0]
================= 79 ==================
[ 0, 64, 0, 0, 8, 4, 2, 1]
[ 0, 1, 0, 0, 1, 1, 1, 1]
================= 80 ==================
[ 0, 64, 0, 16, 0, 0, 0, 0]
[ 0, 1, 0, 1, 0, 0, 0, 0]
================= 81 ==================
[ 0, 64, 0, 16, 0, 0, 0, 1]
[ 0, 1, 0, 1, 0, 0, 0, 1]
================= 82 ==================
[ 0, 64, 0, 16, 0, 0, 2, 0]
[ 0, 1, 0, 1, 0, 0, 1, 0]
================= 83 ==================
[ 0, 64, 0, 16, 0, 0, 2, 1]
[ 0, 1, 0, 1, 0, 0, 1, 1]
================= 84 ==================
[ 0, 64, 0, 16, 0, 4, 0, 0]
[ 0, 1, 0, 1, 0, 1, 0, 0]
================= 85 ==================
[ 0, 64, 0, 16, 0, 4, 0, 1]
[ 0, 1, 0, 1, 0, 1, 0, 1]
================= 86 ==================
[ 0, 64, 0, 16, 0, 4, 2, 0]
[ 0, 1, 0, 1, 0, 1, 1, 0]
================= 87 ==================
[ 0, 64, 0, 16, 0, 4, 2, 1]
[ 0, 1, 0, 1, 0, 1, 1, 1]
================= 88 ==================
[ 0, 64, 0, 16, 8, 0, 0, 0]
[ 0, 1, 0, 1, 1, 0, 0, 0]
================= 89 ==================
[ 0, 64, 0, 16, 8, 0, 0, 1]
[ 0, 1, 0, 1, 1, 0, 0, 1]
================= 90 ==================
[ 0, 64, 0, 16, 8, 0, 2, 0]
[ 0, 1, 0, 1, 1, 0, 1, 0]
================= 91 ==================
[ 0, 64, 0, 16, 8, 0, 2, 1]
[ 0, 1, 0, 1, 1, 0, 1, 1]
================= 92 ==================
[ 0, 64, 0, 16, 8, 4, 0, 0]
[ 0, 1, 0, 1, 1, 1, 0, 0]
================= 93 ==================
[ 0, 64, 0, 16, 8, 4, 0, 1]
[ 0, 1, 0, 1, 1, 1, 0, 1]
================= 94 ==================
[ 0, 64, 0, 16, 8, 4, 2, 0]
[ 0, 1, 0, 1, 1, 1, 1, 0]
================= 95 ==================
[ 0, 64, 0, 16, 8, 4, 2, 1]
[ 0, 1, 0, 1, 1, 1, 1, 1]
================= 96 ==================
[ 0, 64, 32, 0, 0, 0, 0, 0]
[ 0, 1, 1, 0, 0, 0, 0, 0]
================= 97 ==================
[ 0, 64, 32, 0, 0, 0, 0, 1]
[ 0, 1, 1, 0, 0, 0, 0, 1]
================= 98 ==================
[ 0, 64, 32, 0, 0, 0, 2, 0]
[ 0, 1, 1, 0, 0, 0, 1, 0]
================= 99 ==================
[ 0, 64, 32, 0, 0, 0, 2, 1]
[ 0, 1, 1, 0, 0, 0, 1, 1]
================= 100 ==================
[ 0, 64, 32, 0, 0, 4, 0, 0]
[ 0, 1, 1, 0, 0, 1, 0, 0]
================= 101 ==================
[ 0, 64, 32, 0, 0, 4, 0, 1]
[ 0, 1, 1, 0, 0, 1, 0, 1]
================= 102 ==================
[ 0, 64, 32, 0, 0, 4, 2, 0]
[ 0, 1, 1, 0, 0, 1, 1, 0]
================= 103 ==================
[ 0, 64, 32, 0, 0, 4, 2, 1]
[ 0, 1, 1, 0, 0, 1, 1, 1]
================= 104 ==================
[ 0, 64, 32, 0, 8, 0, 0, 0]
[ 0, 1, 1, 0, 1, 0, 0, 0]
================= 105 ==================
[ 0, 64, 32, 0, 8, 0, 0, 1]
[ 0, 1, 1, 0, 1, 0, 0, 1]
================= 106 ==================
[ 0, 64, 32, 0, 8, 0, 2, 0]
[ 0, 1, 1, 0, 1, 0, 1, 0]
================= 107 ==================
[ 0, 64, 32, 0, 8, 0, 2, 1]
[ 0, 1, 1, 0, 1, 0, 1, 1]
================= 108 ==================
[ 0, 64, 32, 0, 8, 4, 0, 0]
[ 0, 1, 1, 0, 1, 1, 0, 0]
================= 109 ==================
[ 0, 64, 32, 0, 8, 4, 0, 1]
[ 0, 1, 1, 0, 1, 1, 0, 1]
================= 110 ==================
[ 0, 64, 32, 0, 8, 4, 2, 0]
[ 0, 1, 1, 0, 1, 1, 1, 0]
================= 111 ==================
[ 0, 64, 32, 0, 8, 4, 2, 1]
[ 0, 1, 1, 0, 1, 1, 1, 1]
================= 112 ==================
[ 0, 64, 32, 16, 0, 0, 0, 0]
[ 0, 1, 1, 1, 0, 0, 0, 0]
================= 113 ==================
[ 0, 64, 32, 16, 0, 0, 0, 1]
[ 0, 1, 1, 1, 0, 0, 0, 1]
================= 114 ==================
[ 0, 64, 32, 16, 0, 0, 2, 0]
[ 0, 1, 1, 1, 0, 0, 1, 0]
================= 115 ==================
[ 0, 64, 32, 16, 0, 0, 2, 1]
[ 0, 1, 1, 1, 0, 0, 1, 1]
================= 116 ==================
[ 0, 64, 32, 16, 0, 4, 0, 0]
[ 0, 1, 1, 1, 0, 1, 0, 0]
================= 117 ==================
[ 0, 64, 32, 16, 0, 4, 0, 1]
[ 0, 1, 1, 1, 0, 1, 0, 1]
================= 118 ==================
[ 0, 64, 32, 16, 0, 4, 2, 0]
[ 0, 1, 1, 1, 0, 1, 1, 0]
================= 119 ==================
[ 0, 64, 32, 16, 0, 4, 2, 1]
[ 0, 1, 1, 1, 0, 1, 1, 1]
================= 120 ==================
[ 0, 64, 32, 16, 8, 0, 0, 0]
[ 0, 1, 1, 1, 1, 0, 0, 0]
================= 121 ==================
[ 0, 64, 32, 16, 8, 0, 0, 1]
[ 0, 1, 1, 1, 1, 0, 0, 1]
================= 122 ==================
[ 0, 64, 32, 16, 8, 0, 2, 0]
[ 0, 1, 1, 1, 1, 0, 1, 0]
================= 123 ==================
[ 0, 64, 32, 16, 8, 0, 2, 1]
[ 0, 1, 1, 1, 1, 0, 1, 1]
================= 124 ==================
[ 0, 64, 32, 16, 8, 4, 0, 0]
[ 0, 1, 1, 1, 1, 1, 0, 0]
================= 125 ==================
[ 0, 64, 32, 16, 8, 4, 0, 1]
[ 0, 1, 1, 1, 1, 1, 0, 1]
================= 126 ==================
[ 0, 64, 32, 16, 8, 4, 2, 0]
[ 0, 1, 1, 1, 1, 1, 1, 0]
================= 127 ==================
[ 0, 64, 32, 16, 8, 4, 2, 1]
[ 0, 1, 1, 1, 1, 1, 1, 1]
================= 128 ==================
[128, 0, 0, 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0, 0, 0, 0]
================= 129 ==================
[128, 0, 0, 0, 0, 0, 0, 1]
[ 1, 0, 0, 0, 0, 0, 0, 1]
================= 130 ==================
[128, 0, 0, 0, 0, 0, 2, 0]
[ 1, 0, 0, 0, 0, 0, 1, 0]
================= 131 ==================
[128, 0, 0, 0, 0, 0, 2, 1]
[ 1, 0, 0, 0, 0, 0, 1, 1]
================= 132 ==================
[128, 0, 0, 0, 0, 4, 0, 0]
[ 1, 0, 0, 0, 0, 1, 0, 0]
================= 133 ==================
[128, 0, 0, 0, 0, 4, 0, 1]
[ 1, 0, 0, 0, 0, 1, 0, 1]
================= 134 ==================
[128, 0, 0, 0, 0, 4, 2, 0]
[ 1, 0, 0, 0, 0, 1, 1, 0]
================= 135 ==================
[128, 0, 0, 0, 0, 4, 2, 1]
[ 1, 0, 0, 0, 0, 1, 1, 1]
================= 136 ==================
[128, 0, 0, 0, 8, 0, 0, 0]
[ 1, 0, 0, 0, 1, 0, 0, 0]
================= 137 ==================
[128, 0, 0, 0, 8, 0, 0, 1]
[ 1, 0, 0, 0, 1, 0, 0, 1]
================= 138 ==================
[128, 0, 0, 0, 8, 0, 2, 0]
[ 1, 0, 0, 0, 1, 0, 1, 0]
================= 139 ==================
[128, 0, 0, 0, 8, 0, 2, 1]
[ 1, 0, 0, 0, 1, 0, 1, 1]
================= 140 ==================
[128, 0, 0, 0, 8, 4, 0, 0]
[ 1, 0, 0, 0, 1, 1, 0, 0]
================= 141 ==================
[128, 0, 0, 0, 8, 4, 0, 1]
[ 1, 0, 0, 0, 1, 1, 0, 1]
================= 142 ==================
[128, 0, 0, 0, 8, 4, 2, 0]
[ 1, 0, 0, 0, 1, 1, 1, 0]
================= 143 ==================
[128, 0, 0, 0, 8, 4, 2, 1]
[ 1, 0, 0, 0, 1, 1, 1, 1]
================= 144 ==================
[128, 0, 0, 16, 0, 0, 0, 0]
[ 1, 0, 0, 1, 0, 0, 0, 0]
================= 145 ==================
[128, 0, 0, 16, 0, 0, 0, 1]
[ 1, 0, 0, 1, 0, 0, 0, 1]
================= 146 ==================
[128, 0, 0, 16, 0, 0, 2, 0]
[ 1, 0, 0, 1, 0, 0, 1, 0]
================= 147 ==================
[128, 0, 0, 16, 0, 0, 2, 1]
[ 1, 0, 0, 1, 0, 0, 1, 1]
================= 148 ==================
[128, 0, 0, 16, 0, 4, 0, 0]
[ 1, 0, 0, 1, 0, 1, 0, 0]
================= 149 ==================
[128, 0, 0, 16, 0, 4, 0, 1]
[ 1, 0, 0, 1, 0, 1, 0, 1]
================= 150 ==================
[128, 0, 0, 16, 0, 4, 2, 0]
[ 1, 0, 0, 1, 0, 1, 1, 0]
================= 151 ==================
[128, 0, 0, 16, 0, 4, 2, 1]
[ 1, 0, 0, 1, 0, 1, 1, 1]
================= 152 ==================
[128, 0, 0, 16, 8, 0, 0, 0]
[ 1, 0, 0, 1, 1, 0, 0, 0]
================= 153 ==================
[128, 0, 0, 16, 8, 0, 0, 1]
[ 1, 0, 0, 1, 1, 0, 0, 1]
================= 154 ==================
[128, 0, 0, 16, 8, 0, 2, 0]
[ 1, 0, 0, 1, 1, 0, 1, 0]
================= 155 ==================
[128, 0, 0, 16, 8, 0, 2, 1]
[ 1, 0, 0, 1, 1, 0, 1, 1]
================= 156 ==================
[128, 0, 0, 16, 8, 4, 0, 0]
[ 1, 0, 0, 1, 1, 1, 0, 0]
================= 157 ==================
[128, 0, 0, 16, 8, 4, 0, 1]
[ 1, 0, 0, 1, 1, 1, 0, 1]
================= 158 ==================
[128, 0, 0, 16, 8, 4, 2, 0]
[ 1, 0, 0, 1, 1, 1, 1, 0]
================= 159 ==================
[128, 0, 0, 16, 8, 4, 2, 1]
[ 1, 0, 0, 1, 1, 1, 1, 1]
================= 160 ==================
[128, 0, 32, 0, 0, 0, 0, 0]
[ 1, 0, 1, 0, 0, 0, 0, 0]
================= 161 ==================
[128, 0, 32, 0, 0, 0, 0, 1]
[ 1, 0, 1, 0, 0, 0, 0, 1]
================= 162 ==================
[128, 0, 32, 0, 0, 0, 2, 0]
[ 1, 0, 1, 0, 0, 0, 1, 0]
================= 163 ==================
[128, 0, 32, 0, 0, 0, 2, 1]
[ 1, 0, 1, 0, 0, 0, 1, 1]
================= 164 ==================
[128, 0, 32, 0, 0, 4, 0, 0]
[ 1, 0, 1, 0, 0, 1, 0, 0]
================= 165 ==================
[128, 0, 32, 0, 0, 4, 0, 1]
[ 1, 0, 1, 0, 0, 1, 0, 1]
================= 166 ==================
[128, 0, 32, 0, 0, 4, 2, 0]
[ 1, 0, 1, 0, 0, 1, 1, 0]
================= 167 ==================
[128, 0, 32, 0, 0, 4, 2, 1]
[ 1, 0, 1, 0, 0, 1, 1, 1]
================= 168 ==================
[128, 0, 32, 0, 8, 0, 0, 0]
[ 1, 0, 1, 0, 1, 0, 0, 0]
================= 169 ==================
[128, 0, 32, 0, 8, 0, 0, 1]
[ 1, 0, 1, 0, 1, 0, 0, 1]
================= 170 ==================
[128, 0, 32, 0, 8, 0, 2, 0]
[ 1, 0, 1, 0, 1, 0, 1, 0]
================= 171 ==================
[128, 0, 32, 0, 8, 0, 2, 1]
[ 1, 0, 1, 0, 1, 0, 1, 1]
================= 172 ==================
[128, 0, 32, 0, 8, 4, 0, 0]
[ 1, 0, 1, 0, 1, 1, 0, 0]
================= 173 ==================
[128, 0, 32, 0, 8, 4, 0, 1]
[ 1, 0, 1, 0, 1, 1, 0, 1]
================= 174 ==================
[128, 0, 32, 0, 8, 4, 2, 0]
[ 1, 0, 1, 0, 1, 1, 1, 0]
================= 175 ==================
[128, 0, 32, 0, 8, 4, 2, 1]
[ 1, 0, 1, 0, 1, 1, 1, 1]
================= 176 ==================
[128, 0, 32, 16, 0, 0, 0, 0]
[ 1, 0, 1, 1, 0, 0, 0, 0]
================= 177 ==================
[128, 0, 32, 16, 0, 0, 0, 1]
[ 1, 0, 1, 1, 0, 0, 0, 1]
================= 178 ==================
[128, 0, 32, 16, 0, 0, 2, 0]
[ 1, 0, 1, 1, 0, 0, 1, 0]
================= 179 ==================
[128, 0, 32, 16, 0, 0, 2, 1]
[ 1, 0, 1, 1, 0, 0, 1, 1]
================= 180 ==================
[128, 0, 32, 16, 0, 4, 0, 0]
[ 1, 0, 1, 1, 0, 1, 0, 0]
================= 181 ==================
[128, 0, 32, 16, 0, 4, 0, 1]
[ 1, 0, 1, 1, 0, 1, 0, 1]
================= 182 ==================
[128, 0, 32, 16, 0, 4, 2, 0]
[ 1, 0, 1, 1, 0, 1, 1, 0]
================= 183 ==================
[128, 0, 32, 16, 0, 4, 2, 1]
[ 1, 0, 1, 1, 0, 1, 1, 1]
================= 184 ==================
[128, 0, 32, 16, 8, 0, 0, 0]
[ 1, 0, 1, 1, 1, 0, 0, 0]
================= 185 ==================
[128, 0, 32, 16, 8, 0, 0, 1]
[ 1, 0, 1, 1, 1, 0, 0, 1]
================= 186 ==================
[128, 0, 32, 16, 8, 0, 2, 0]
[ 1, 0, 1, 1, 1, 0, 1, 0]
================= 187 ==================
[128, 0, 32, 16, 8, 0, 2, 1]
[ 1, 0, 1, 1, 1, 0, 1, 1]
================= 188 ==================
[128, 0, 32, 16, 8, 4, 0, 0]
[ 1, 0, 1, 1, 1, 1, 0, 0]
================= 189 ==================
[128, 0, 32, 16, 8, 4, 0, 1]
[ 1, 0, 1, 1, 1, 1, 0, 1]
================= 190 ==================
[128, 0, 32, 16, 8, 4, 2, 0]
[ 1, 0, 1, 1, 1, 1, 1, 0]
================= 191 ==================
[128, 0, 32, 16, 8, 4, 2, 1]
[ 1, 0, 1, 1, 1, 1, 1, 1]
================= 192 ==================
[128, 64, 0, 0, 0, 0, 0, 0]
[ 1, 1, 0, 0, 0, 0, 0, 0]
================= 193 ==================
[128, 64, 0, 0, 0, 0, 0, 1]
[ 1, 1, 0, 0, 0, 0, 0, 1]
================= 194 ==================
[128, 64, 0, 0, 0, 0, 2, 0]
[ 1, 1, 0, 0, 0, 0, 1, 0]
================= 195 ==================
[128, 64, 0, 0, 0, 0, 2, 1]
[ 1, 1, 0, 0, 0, 0, 1, 1]
================= 196 ==================
[128, 64, 0, 0, 0, 4, 0, 0]
[ 1, 1, 0, 0, 0, 1, 0, 0]
================= 197 ==================
[128, 64, 0, 0, 0, 4, 0, 1]
[ 1, 1, 0, 0, 0, 1, 0, 1]
================= 198 ==================
[128, 64, 0, 0, 0, 4, 2, 0]
[ 1, 1, 0, 0, 0, 1, 1, 0]
================= 199 ==================
[128, 64, 0, 0, 0, 4, 2, 1]
[ 1, 1, 0, 0, 0, 1, 1, 1]
================= 200 ==================
[128, 64, 0, 0, 8, 0, 0, 0]
[ 1, 1, 0, 0, 1, 0, 0, 0]
================= 201 ==================
[128, 64, 0, 0, 8, 0, 0, 1]
[ 1, 1, 0, 0, 1, 0, 0, 1]
================= 202 ==================
[128, 64, 0, 0, 8, 0, 2, 0]
[ 1, 1, 0, 0, 1, 0, 1, 0]
================= 203 ==================
[128, 64, 0, 0, 8, 0, 2, 1]
[ 1, 1, 0, 0, 1, 0, 1, 1]
================= 204 ==================
[128, 64, 0, 0, 8, 4, 0, 0]
[ 1, 1, 0, 0, 1, 1, 0, 0]
================= 205 ==================
[128, 64, 0, 0, 8, 4, 0, 1]
[ 1, 1, 0, 0, 1, 1, 0, 1]
================= 206 ==================
[128, 64, 0, 0, 8, 4, 2, 0]
[ 1, 1, 0, 0, 1, 1, 1, 0]
================= 207 ==================
[128, 64, 0, 0, 8, 4, 2, 1]
[ 1, 1, 0, 0, 1, 1, 1, 1]
================= 208 ==================
[128, 64, 0, 16, 0, 0, 0, 0]
[ 1, 1, 0, 1, 0, 0, 0, 0]
================= 209 ==================
[128, 64, 0, 16, 0, 0, 0, 1]
[ 1, 1, 0, 1, 0, 0, 0, 1]
================= 210 ==================
[128, 64, 0, 16, 0, 0, 2, 0]
[ 1, 1, 0, 1, 0, 0, 1, 0]
================= 211 ==================
[128, 64, 0, 16, 0, 0, 2, 1]
[ 1, 1, 0, 1, 0, 0, 1, 1]
================= 212 ==================
[128, 64, 0, 16, 0, 4, 0, 0]
[ 1, 1, 0, 1, 0, 1, 0, 0]
================= 213 ==================
[128, 64, 0, 16, 0, 4, 0, 1]
[ 1, 1, 0, 1, 0, 1, 0, 1]
================= 214 ==================
[128, 64, 0, 16, 0, 4, 2, 0]
[ 1, 1, 0, 1, 0, 1, 1, 0]
================= 215 ==================
[128, 64, 0, 16, 0, 4, 2, 1]
[ 1, 1, 0, 1, 0, 1, 1, 1]
================= 216 ==================
[128, 64, 0, 16, 8, 0, 0, 0]
[ 1, 1, 0, 1, 1, 0, 0, 0]
================= 217 ==================
[128, 64, 0, 16, 8, 0, 0, 1]
[ 1, 1, 0, 1, 1, 0, 0, 1]
================= 218 ==================
[128, 64, 0, 16, 8, 0, 2, 0]
[ 1, 1, 0, 1, 1, 0, 1, 0]
================= 219 ==================
[128, 64, 0, 16, 8, 0, 2, 1]
[ 1, 1, 0, 1, 1, 0, 1, 1]
================= 220 ==================
[128, 64, 0, 16, 8, 4, 0, 0]
[ 1, 1, 0, 1, 1, 1, 0, 0]
================= 221 ==================
[128, 64, 0, 16, 8, 4, 0, 1]
[ 1, 1, 0, 1, 1, 1, 0, 1]
================= 222 ==================
[128, 64, 0, 16, 8, 4, 2, 0]
[ 1, 1, 0, 1, 1, 1, 1, 0]
================= 223 ==================
[128, 64, 0, 16, 8, 4, 2, 1]
[ 1, 1, 0, 1, 1, 1, 1, 1]
================= 224 ==================
[128, 64, 32, 0, 0, 0, 0, 0]
[ 1, 1, 1, 0, 0, 0, 0, 0]
================= 225 ==================
[128, 64, 32, 0, 0, 0, 0, 1]
[ 1, 1, 1, 0, 0, 0, 0, 1]
================= 226 ==================
[128, 64, 32, 0, 0, 0, 2, 0]
[ 1, 1, 1, 0, 0, 0, 1, 0]
================= 227 ==================
[128, 64, 32, 0, 0, 0, 2, 1]
[ 1, 1, 1, 0, 0, 0, 1, 1]
================= 228 ==================
[128, 64, 32, 0, 0, 4, 0, 0]
[ 1, 1, 1, 0, 0, 1, 0, 0]
================= 229 ==================
[128, 64, 32, 0, 0, 4, 0, 1]
[ 1, 1, 1, 0, 0, 1, 0, 1]
================= 230 ==================
[128, 64, 32, 0, 0, 4, 2, 0]
[ 1, 1, 1, 0, 0, 1, 1, 0]
================= 231 ==================
[128, 64, 32, 0, 0, 4, 2, 1]
[ 1, 1, 1, 0, 0, 1, 1, 1]
================= 232 ==================
[128, 64, 32, 0, 8, 0, 0, 0]
[ 1, 1, 1, 0, 1, 0, 0, 0]
================= 233 ==================
[128, 64, 32, 0, 8, 0, 0, 1]
[ 1, 1, 1, 0, 1, 0, 0, 1]
================= 234 ==================
[128, 64, 32, 0, 8, 0, 2, 0]
[ 1, 1, 1, 0, 1, 0, 1, 0]
================= 235 ==================
[128, 64, 32, 0, 8, 0, 2, 1]
[ 1, 1, 1, 0, 1, 0, 1, 1]
================= 236 ==================
[128, 64, 32, 0, 8, 4, 0, 0]
[ 1, 1, 1, 0, 1, 1, 0, 0]
================= 237 ==================
[128, 64, 32, 0, 8, 4, 0, 1]
[ 1, 1, 1, 0, 1, 1, 0, 1]
================= 238 ==================
[128, 64, 32, 0, 8, 4, 2, 0]
[ 1, 1, 1, 0, 1, 1, 1, 0]
================= 239 ==================
[128, 64, 32, 0, 8, 4, 2, 1]
[ 1, 1, 1, 0, 1, 1, 1, 1]
================= 240 ==================
[128, 64, 32, 16, 0, 0, 0, 0]
[ 1, 1, 1, 1, 0, 0, 0, 0]
================= 241 ==================
[128, 64, 32, 16, 0, 0, 0, 1]
[ 1, 1, 1, 1, 0, 0, 0, 1]
================= 242 ==================
[128, 64, 32, 16, 0, 0, 2, 0]
[ 1, 1, 1, 1, 0, 0, 1, 0]
================= 243 ==================
[128, 64, 32, 16, 0, 0, 2, 1]
[ 1, 1, 1, 1, 0, 0, 1, 1]
================= 244 ==================
[128, 64, 32, 16, 0, 4, 0, 0]
[ 1, 1, 1, 1, 0, 1, 0, 0]
================= 245 ==================
[128, 64, 32, 16, 0, 4, 0, 1]
[ 1, 1, 1, 1, 0, 1, 0, 1]
================= 246 ==================
[128, 64, 32, 16, 0, 4, 2, 0]
[ 1, 1, 1, 1, 0, 1, 1, 0]
================= 247 ==================
[128, 64, 32, 16, 0, 4, 2, 1]
[ 1, 1, 1, 1, 0, 1, 1, 1]
================= 248 ==================
[128, 64, 32, 16, 8, 0, 0, 0]
[ 1, 1, 1, 1, 1, 0, 0, 0]
================= 249 ==================
[128, 64, 32, 16, 8, 0, 0, 1]
[ 1, 1, 1, 1, 1, 0, 0, 1]
================= 250 ==================
[128, 64, 32, 16, 8, 0, 2, 0]
[ 1, 1, 1, 1, 1, 0, 1, 0]
================= 251 ==================
[128, 64, 32, 16, 8, 0, 2, 1]
[ 1, 1, 1, 1, 1, 0, 1, 1]
================= 252 ==================
[128, 64, 32, 16, 8, 4, 0, 0]
[ 1, 1, 1, 1, 1, 1, 0, 0]
================= 253 ==================
[128, 64, 32, 16, 8, 4, 0, 1]
[ 1, 1, 1, 1, 1, 1, 0, 1]
================= 254 ==================
[128, 64, 32, 16, 8, 4, 2, 0]
[ 1, 1, 1, 1, 1, 1, 1, 0]
================= 255 ==================
[128, 64, 32, 16, 8, 4, 2, 1]
[ 1, 1, 1, 1, 1, 1, 1, 1]
# https://exercism.io/tracks/python/exercises/grains/solutions/5d0bba79fb2343c18a4e5f6098f75c2a
def square(number):
if 0 < number < 65:
# 2**(number-1)
return 1 << (number-1)
raise ValueError("ValueError exception thrown")
def total():
# (2**64) - 1
return (1 << 64) - 1