二进制转格雷码

十进制 二进制 格雷码 转换关系表

十进制二进制格雷码
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000

二进制如何转格雷码

转换规则有两个

例如二进制 0101 转为格雷码为 0111

二进制的最高位为0,格雷码为0

二进制的第2位为1,二进制的上一位为0  异或后为 1

二进制的第3位为0,二进制的上一位为1  异或后为 1

二进制的第4位为1,二进制的上一位为1  异或后为 1

所以最后转为格雷码为0111

格雷码是什么

格雷码是一个二进制数系,其中两个相邻数的二进制位只有一位不同(任意两个相邻的代码只有一位二进制数不同)。格雷码由贝尔实验室的 Frank Gray 于 1940 年代提出,并于 1953 年获得专利。

举个例子, 3位二进制数的格雷码序列为:

000,001,011,010,110,111,101,100