当前位置:首页 > 二进制 > 正文

二进制拨码对照表是怎么得来的


Gray Code 是一种二进制编码方案,相邻的数字仅有一个比特不同。 这使得它在编码状态转换时非常有用,因为可以避免瞬态逻辑故障(例如,从二进制数 1111 直接转换为 0000)。
Gray Code 的对照表可以通过以下方式推导:
1. 从 1 位 Gray Code 开始
1 位 Gray Code 的对照表如下:
| 二进制数 | Gray Code |
|---|---|
| 0 | 0 |
| 1 | 1 |
2. 将前一个 Gray Code 对照表向下移一位
将前一个 Gray Code 对照表向下移一位,得到:
| 二进制数 | Gray Code 0 | Gray Code 1 |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 0 |
3. 在 Gray Code 0 上方添加一个前缀 0
在 Gray Code 0 上方添加一个前缀 0,得到:
| 二进制数 | Gray Code 0 | Gray Code 1 |
|---|---|---|
| 0 | 00 | 01 |
| 1 | 10 | 11 |
4. 重复步骤 2 和 3
重复步骤 2 和 3,直到达到所需的位数。
5. 示例:3 位 Gray Code
以下是如何推导出 3 位 Gray Code 对照表的:
从 1 位 Gray Code 开始:| 二进制数 | Gray Code |
|---|---|
| 0 | 0 |
| 1 | 1 |
向下移一位:| 二进制数 | Gray Code 0 | Gray Code 1 |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 0 |
添加前缀 0:| 二进制数 | Gray Code 0 | Gray Code 1 |
|---|---|---|
| 0 | 00 | 01 |
| 1 | 10 | 11 |
再向下移一位:| 二进制数 | Gray Code 00 | Gray Code 01 | Gray Code 10 | Gray Code 11 |
|---|---|---|---|
| 0 | 00 | 01 | 10 | 11 |
| 1 | 10 | 11 | 00 | 01 |
添加前缀 0:| 二进制数 | Gray Code 00 | Gray Code 01 | Gray Code 10 | Gray Code 11 |
|---|---|---|---|---|
| 0 | 000 | 001 | 010 | 011 |
| 1 | 100 | 101 | 110 | 111 |
因此,3 位 Gray Code 对照表为:
| 二进制数 | Gray Code |
|---|---|
| 000 | 000 |
| 001 | 001 |
| 010 | 011 |
| 011 | 010 |
| 100 | 110 |
| 101 | 111 |
| 110 | 101 |
| 111 | 100 |