二-十进制码(BCD码)
Binary-Coded Decimal
正如题目,用二进制编码的十进制代码,使二进制和十进制之间的转换得以快捷的进行。
- 加权码-“8421”码
- 加权码-“2421”码
- 无权码-余三码
- 无权码-格雷码(Gray码也称循环码)
十进制数 | 8421码 | 5421码 | 2421码 | 余3码 | 余3循环码 |
---|---|---|---|---|---|
0 | 0000 | 0000 | 0000 | 0011 | 0010 |
1 | 0001 | 0001 | 0001 | 0100 | 0110 |
2 | 0010 | 0010 | 0010 | 0101 | 0111 |
3 | 0011 | 0011 | 0011 | 0110 | 0101 |
4 | 0100 | 0100 | 0100 | 0111 | 0100 |
5 | 0101 | 1000 | 1011 | 1000 | 1100 |
6 | 0110 | 1001 | 1100 | 1001 | 1101 |
7 | 0111 | 1010 | 1101 | 1010 | 1111 |
8 | 1000 | 1011 | 1110 | 1011 | 1110 |
9 | 1001 | 1100 | 1111 | 1100 | 1010 |
2 个十进制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。
举例5+8:
0 1 0 1 + 1 0 0 0
1 1 0 1 结果大于9
所以加 6 修正 0 1 1 0
结果1 0 0 1 1 即13 的 BCD码
而余3码正是为了解决这个问题每个码加3(0011)而成
余3循环码主要优点是相邻编码只有一位变化,避免了过渡码产生的“噪声”。