A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
17
Task/Gray-code/Python/gray-code-1.py
Normal file
17
Task/Gray-code/Python/gray-code-1.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
>>> def int2bin(n):
|
||||
'From positive integer to list of binary bits, msb at index 0'
|
||||
if n:
|
||||
bits = []
|
||||
while n:
|
||||
n,remainder = divmod(n, 2)
|
||||
bits.insert(0, remainder)
|
||||
return bits
|
||||
else: return [0]
|
||||
|
||||
|
||||
>>> def bin2int(bits):
|
||||
'From binary bits, msb at index 0 to integer'
|
||||
i = 0
|
||||
for bit in bits:
|
||||
i = i * 2 + bit
|
||||
return i
|
||||
7
Task/Gray-code/Python/gray-code-2.py
Normal file
7
Task/Gray-code/Python/gray-code-2.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
>>> def bin2gray(bits):
|
||||
return bits[:1] + [i ^ ishift for i, ishift in zip(bits[:-1], bits[1:])]
|
||||
|
||||
>>> def gray2bin(bits):
|
||||
b = [bits[0]]
|
||||
for nextb in bits[1:]: b.append(b[-1] ^ nextb)
|
||||
return b
|
||||
27
Task/Gray-code/Python/gray-code-3.py
Normal file
27
Task/Gray-code/Python/gray-code-3.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
>>> for i in range(16):
|
||||
print('int:%2i -> bin:%12r -> gray:%12r -> bin:%12r -> int:%2i' %
|
||||
( i,
|
||||
int2bin(i),
|
||||
bin2gray(int2bin(i)),
|
||||
gray2bin(bin2gray(int2bin(i))),
|
||||
bin2int(gray2bin(bin2gray(int2bin(i))))
|
||||
))
|
||||
|
||||
|
||||
int: 0 -> bin: [0] -> gray: [0] -> bin: [0] -> int: 0
|
||||
int: 1 -> bin: [1] -> gray: [1] -> bin: [1] -> int: 1
|
||||
int: 2 -> bin: [1, 0] -> gray: [1, 1] -> bin: [1, 0] -> int: 2
|
||||
int: 3 -> bin: [1, 1] -> gray: [1, 0] -> bin: [1, 1] -> int: 3
|
||||
int: 4 -> bin: [1, 0, 0] -> gray: [1, 1, 0] -> bin: [1, 0, 0] -> int: 4
|
||||
int: 5 -> bin: [1, 0, 1] -> gray: [1, 1, 1] -> bin: [1, 0, 1] -> int: 5
|
||||
int: 6 -> bin: [1, 1, 0] -> gray: [1, 0, 1] -> bin: [1, 1, 0] -> int: 6
|
||||
int: 7 -> bin: [1, 1, 1] -> gray: [1, 0, 0] -> bin: [1, 1, 1] -> int: 7
|
||||
int: 8 -> bin:[1, 0, 0, 0] -> gray:[1, 1, 0, 0] -> bin:[1, 0, 0, 0] -> int: 8
|
||||
int: 9 -> bin:[1, 0, 0, 1] -> gray:[1, 1, 0, 1] -> bin:[1, 0, 0, 1] -> int: 9
|
||||
int:10 -> bin:[1, 0, 1, 0] -> gray:[1, 1, 1, 1] -> bin:[1, 0, 1, 0] -> int:10
|
||||
int:11 -> bin:[1, 0, 1, 1] -> gray:[1, 1, 1, 0] -> bin:[1, 0, 1, 1] -> int:11
|
||||
int:12 -> bin:[1, 1, 0, 0] -> gray:[1, 0, 1, 0] -> bin:[1, 1, 0, 0] -> int:12
|
||||
int:13 -> bin:[1, 1, 0, 1] -> gray:[1, 0, 1, 1] -> bin:[1, 1, 0, 1] -> int:13
|
||||
int:14 -> bin:[1, 1, 1, 0] -> gray:[1, 0, 0, 1] -> bin:[1, 1, 1, 0] -> int:14
|
||||
int:15 -> bin:[1, 1, 1, 1] -> gray:[1, 0, 0, 0] -> bin:[1, 1, 1, 1] -> int:15
|
||||
>>>
|
||||
Loading…
Add table
Add a link
Reference in a new issue