📅  最后修改于: 2020-12-30 04:22:36             🧑  作者: Mango
格雷码是二进制数字系统的序列,也称为反射二进制代码。之所以将此代码称为反射二进制代码,是因为前N / 2个值与后N / 2个值的倒序比较。在此代码中,两个连续的值相差一位二进制数字。在硬件生成的二进制数的一般顺序中使用格雷码。从一个数字过渡到其连续数时,这些数字会引起歧义或错误。此代码仅通过在数字之间进行转换时仅更改一位来解决此问题。
格雷码是很轻的加权码,因为它不取决于位置指定的数字值。此代码也称为循环变量代码,因为一个值到其连续值的转换仅携带一位变化。
前缀和反射方法递归用于生成数字的格雷码。为了生成格雷码:
Decimal Number | Binary Number | Gray Code |
---|---|---|
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 |