python生成格雷码
import numpy as np
n=3
gray_map=np.empty((1<<n,n))
for i in range(0,1<<n):
gray=i^(i>>1)
print("{0:0{1}b}".format(gray,n))
gray_bin=np.binary_repr(gray,width=n)
gray_map[i,:]=list(map(int, gray_bin))
print(gray_map)
000
001
011
010
110
111
101
100
[[0. 0. 0.]
[0. 0. 1.]
[0. 1. 1.]
[0. 1. 0.]
[1. 1. 0.]
[1. 1. 1.]
[1. 0. 1.]
[1. 0. 0.]]