分类: C/C++
2010-05-25 14:26:07
十进制数 | 8421BCD码 | 余3码 | 格雷码 |
0 | 0000 | 0011 | 0000 |
1 | 0001 | 0100 | 0001 |
2 | 0010 | 0101 | 0011 |
3 | 0011 | 0110 | 0010 |
4 | 0100 | 0111 | 0110 |
5 | 0101 | 1000 | 1110 |
6 | 0110 |
1001 |
1010 |
7 | 0111 | 1010 | 1000 |
8 | 1000 | 1011 | 1100 |
9 | 1001 | 1100 | 0100 |
值得特别注意的是,8421BCD码只有0000~1001共十个,而1010、1011...等等不是8421BCD码!!
余三码是在8421BCD码的基础上,把每个数的代码加
上0011(对应十进制数3)后得到的。格雷码的编码规则是相邻的两代
码之间只有一位二进制位不同。不管是8421BCD码还是余三码还是格雷码,总是4个二进制位对应一个十进制数,
如十进制数18对应的8421BCD码就是0001 1000。
压缩的BCD码用4个 二进制位来表示十进制数,上面提到的就是压缩的BCD码。而非压缩BCD码用一个字节(八个二进制位)表示 一位十进制数,高4位总是0000,低4位的0000~1001表示相应的十进制数。例如,十进制数87D,采 用非压缩8421BCD码表示为二进制数是00001000 00000111B。这种非压缩BCD码主要用于非数值计算的应用领域中。