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)
大概解释一下,怕我下次看忘记了
<< 左移
^ 按位异或
gray是生成的十进制符号,转成二进制就是格雷码了
print("{0:0{1}b}".format(gray,n)) 这句展示出来好看
生成能够索引的列表,首先转成规定位宽的二进制字符串gray_bin
然后把字符串转为数字列表