在人机交互过程中,为了既满足系统中使用二进制数的要求,又适应人们使用十进制数的习惯,通常用4位二进制代码对十进制数字符号进行编码,简称为二-十进制代码,或称BCD(Binary Coded Decimal)码。它既有二进制的形式,又有十进制的特点。常用的BCD码有8421码、2421码和余3码3种,它们与十进制数字符号对应的编码如表1.4所示。
表1.4 常用的3种BCD码 进制字符 8421码 2421码 余3码
0 0000 0000 0011
1 0001 0001 0100
2 0010 0010 0101
3 0011 0011 0110
4 0100 0100 0111
5 0101 1011 1000
6 0110 1100 1001
7 0111 1101 1010
8 1000 1110 1011
9 1001 1111 1100
一、8421码
8421码是最常用的一种有权码,其4位二进制码从高位至低位的权依次为23、22、21、20,即为8、4、2、1,故称为8421码。按8421码编码的0~9与用4位二进制数表示的0~9完全一样,所以,8421码是一种人机联系时广泛使用的中间形式。
注意:
※ 8421码中不允许出现1010~1111四种组合,因为没有十进制数字符号与其对应。
※ 十进制数字符号的8421码与相应ASCII码的低四位相同,这一特点有利于简化输入输出过程中BCD码与字符代码的转换。
1.8421码与十进制数之间的转换
8421码与十进制数之间的转换是按位进行的,即十进制数的每一位与4位二进制编码对应。
例如:
(258)10 = (0010 0101 1000)8421码
(0001 0010 0000 1000)8421码=(1208)10
2.8421码与二进制的区别
例如:
(28)10 = (11100)2 = (00101000)8421
二、2421码
2421码是另一种有权码,其4位二进制码从高位至低位的权依次为2、4、2、1。若一个十进制字符X的2421码为a3 a2 a1 a0,则该字符的值为
X = 2a3 + 4a2 + 2a1 + 1a0
例如,(1101)2421码?= (7)10。
1.2421码与十进制数之间的转换
2421码与十进制数之间的转换同样是按位进行的,例如:
(258)10 = (0010 1011 1110)2421码
(0010 0001 1110 1011)2421码= (2185)10
2.注意
• 2421码不具备单值性。例如,0101和1011都对应十进制数字5。为了与十进制字符 一 一 对应,2421码不允许出现0101~1010的6种状态。
• 2421码是一种对9的自补代码。即一个数的2421码只要自身按位变反,便可得到该数对9的补数的2421码。例如,4对9的补数是5,将4的2421码0100按位变反,便可得到5的2421码1011。具有这一特征的BCD码可给运算带来方便,因为直接对BCD码进行运算时,可利用其对9的补数将减法运算转化为加法运算。
• 2421码与二进制数的区别。
三、余3码
上一篇:铁磁质的分类