文章来自于网络,若有侵权请联系删除!shadow213@163.com
计算机使用二进制数来处理信息,但是如果二进制的形式输入和输出数据,就十分不方便了。一般来说,输入时采用十进制数。因此计算机把十进制数转换成二进制数就要用到一种转换码,BCD码就是其中的一种。BCD 码分为压缩 BCD码和非压缩 BCD 码。对于压缩BCD码用,每位 BCD 码用四个二进制位表示,一个字节表示两位 BCD 码。 [1] 非压缩 BCD码用一个字节表示一位BCD码,其高四位总是0000,低四位从0000-1001,分表表示0-9。这种编码技巧,最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。
8421码又称为BCD码,是十进制代码中最常用的一种 。在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的二进制数加起来就可以得到它所代表的十进制数字。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。其中每一位“1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码。
常用BCD编码方式大致可以分成有权码和无权码两种:
- 有权码,如:8421(最常用)、2421、5421
- 无权码,如:余3码、格雷码
以下为三种常见的BCD编码的比较。
十进数 | 8421-BCD码 | 余3-BCD码 | 2421-A码 |
---|---|---|---|
(M10) | D C B A | C3C2C1C0 | a3a2a1a0 |
0 | 0 0 0 0 | 0 0 1 1 | 0 0 0 0 |
1 | 0 0 0 1 | 0 1 0 0 | 0 0 0 1 |
2 | 0 0 1 0 | 0 1 0 1 | 0 0 1 0 |
3 | 0 0 1 1 | 0 1 1 0 | 0 0 1 1 |
4 | 0 1 0 0 | 0 1 1 1 | 0 1 0 0 |
5 | 0 1 0 1 | 1 0 0 0 | 1 0 1 1 |
6 | 0 1 1 0 | 1 0 0 1 | 1 1 0 0 |
7 | 0 1 1 1 | 1 0 1 0 | 1 1 0 1 |
8 | 1 0 0 0 | 1 0 1 1 | 1 1 1 0 |
9 | 1 0 0 1 | 1 1 0 0 | 1 1 1 1 |