格雷码

格雷码(循环二进制单位距离码)是任意两个相邻数的代码只有一位二进制数不同的编码。

格雷码使装置做数字步进时只最少的位数以提高稳定性。

格雷码的顺序不是唯一的。

格雷码推导

0做为格雷码的第0项,第一项改变最右边的位元,第二项改变右边起第一个为1的位元的左边位元,之后一直重复上述两个步骤。

  • 000
  • 001 改变最右边位元
  • 011 改变右边起第一个为1的位元的左边位元
  • 010 改变最右边位元
  • 110 改变右边起第一个为1的位元的左边位元
  • 111 改变最右边位元
  • 101 改变右边起第一个为1的位元的左边位元
  • 100 改变最右边位元

镜射排列

n位元的格雷码可以从n-1位元的格雷码以上下镜射后加上新位元的方式快速的得到。