格雷码
格雷码(循环二进制单位距离码)是任意两个相邻数的代码只有一位二进制数不同的编码。
格雷码使装置做数字步进时只最少的位数以提高稳定性。
格雷码的顺序不是唯一的。
格雷码推导
0做为格雷码的第0项,第一项改变最右边的位元,第二项改变右边起第一个为1的位元的左边位元,之后一直重复上述两个步骤。
- 000
- 001 改变最右边位元
- 011 改变右边起第一个为1的位元的左边位元
- 010 改变最右边位元
- 110 改变右边起第一个为1的位元的左边位元
- 111 改变最右边位元
- 101 改变右边起第一个为1的位元的左边位元
- 100 改变最右边位元
镜射排列
n位元的格雷码可以从n-1位元的格雷码以上下镜射后加上新位元的方式快速的得到。