分析日常生活中接触到的数字,无非有两种类型的数字:一种数字描述的是量的大小或多少,如路长40km、体重40kg等;另一类数字不表示量的大小或多少,而是代表某个事物的代码,如运动员的编号、学生的学号等。为了便于记忆和处理,在编制代码时总要遵循一定的规则,这些规则就叫做码制。
在数字系统中对各类信息进行处理时,总是先将这些信息用一定位数的二进制代码表示,然后再对这些二进制代码进行处理。因此,为了便于机器识别,必须把十进制数的各个数码用二进制代码表示出来,形成相应的二进制代码,也叫二-十进制代码,简称bcd(binary coded decimals)码。
根据不同的编码规则,有不同的bcd码。几种常用的bcd码如表1所示。
表1 几种常见的 bcd代码
编码种类十进制数码
8421 码
2421 码
5211 码
余 3 码
余 3 循环码
0
0000
0000
0000
0011
0010
1
0001
0001
0001
0100
0110
2
0010
0010
0100
0101
0111
3
0011
0011
0101
0110
0101
4
0100
0100
0111
0111
0100
5
0101
1011
1000
1000
1100
6
0110
1100
1001
1001
1101
7
0111
1101
1100
1010
1111
8
1000
1110
1101
1011
1110
9
1001
1111
1111
1100
1010
权
8421
2421
5211
8421码是bcd码中最常用的一种。在这种编码方式中每一位的1都代表一个固定的值,从左向右分别为8、4、2、1,它们称为每一位的权,因为每一位的权都是保持不变的,所以8421码是一种恒权代码。把8421码中所有1所在位的权值相加得到的结果就是该代码所代表的十进制数。因此,8421码的编码规则遵循加权和的公式。
2421码也是一种恒权代码,从左向右各位的权依次为2、4、2、1.从表4-1-1中可以看出,0和9、1和8、2和7、3和6、4和5的2421码互为反码,所以利用2421码可以方便地求十进制数的补码。
5211码也是一种恒权代码,从左向右各位的权依次为5、2、1、1。利用该代码可以方便地组成分频器。
余3码的编码规则与前面3种编码不同,每一位的1在不同的代码中并不代表固定的数值,因此称为变权代码。从表4-1-1中可以看出,如果把每一个余3码看做一个4位二进制数,则它的数值比它所表示的十进制数多3,故将这种代码叫做余3码。利用余3码也可以方便地求十进制数的补码。
余3循环码也是一种变权代码,其编码的特点是相邻的两个代码之间仅有一位的状态不同。