在线工具
实用工具集合,提升工作效率
全部计算进制转换 › 二进制转格雷码

二进制转格雷码

二进制如何转格雷码

转换规则有两个

  • 格雷码的最高位为给定二进制的最高位
  • 格雷码的其它位由当前二进制的当前位和上一位异或(同者为0异者为1)得到。

例如二进制 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

  • 000和001只有一位不同
  • 001和011只有一位不同
  • ...
  • ...
  • 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