Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 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 gray_encode(n):
|
||||
return n ^ n >> 1
|
||||
|
||||
def gray_decode(n):
|
||||
m = n >> 1
|
||||
while m:
|
||||
n ^= m
|
||||
m >>= 1
|
||||
return n
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("DEC, BIN => GRAY => DEC")
|
||||
for i in range(32):
|
||||
gray = gray_encode(i)
|
||||
dec = gray_decode(gray)
|
||||
print(f" {i:>2d}, {i:>05b} => {gray:>05b} => {dec:>2d}")
|
||||
17
Task/Gray-code/Python/gray-code-2.py
Normal file
17
Task/Gray-code/Python/gray-code-2.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-3.py
Normal file
7
Task/Gray-code/Python/gray-code-3.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-4.py
Normal file
27
Task/Gray-code/Python/gray-code-4.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