转换规则有两个
例如二进制 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
| 十进制 | 二进制 | 格雷码 |
|---|---|---|
| 0 | 0000 | 0000 |
| 1 | 0001 | 0001 |
| 2 | 0010 | 0011 |
| 3 | 0011 | 0010 |
| 4 | 0100 | 0110 |
| 5 | 0101 | 0111 |
| 6 | 0110 | 0101 |
| 7 | 0111 | 0100 |
| 8 | 1000 | 1100 |
| 9 | 1001 | 1101 |
| 10 | 1010 | 1111 |
| 11 | 1011 | 1110 |
| 12 | 1100 | 1010 |
| 13 | 1101 | 1011 |
| 14 | 1110 | 1001 |
| 15 | 1111 | 1000 |