十进制数的二进制编码

时间:2023-03-10来源:佚名

在人机交互过程中,为了既满足系统中使用二进制数的要求,又适应人们使用十进制数的习惯,通常用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码

余3码是由8421码加上0011形成的一种无权码 ,由于它的每个字符编码比相应8421码多3,故称为余3码。例如,十进制字符5的余3码等于5的8421码0101加上0011,即为1000。

1.注意

☆ 余3码有6种状态0000、0001、0010、1101、1110和1111是不允许出现的。

☆ 余3码也是一种对9的自补代码,因而可给运算带来方便。

☆ 将两个余3码表示的十进制数相加时,能正确产生进位信号,但对“和”必须修正。修正的方法是: 如果有进位,则结果加3;如果无进位,则结果减3。

2.余3码与十进制数之间的转换

余3码与十进制数之间的转换也是按位进行的,值得注意的是每位十进制数的编码都应余3。例如:

(256)10 = (0101 1000 1001)余3码

(1000 1001 1001 1011)余3码 = (5668)10

计算机中使用的是二进制数,人们习惯使用的是十进制数,因此,输入到计算机中的十进制数需要转换成二进制数;数据输出时,应将二进制数转换成十进制数。为了方便,大多数通用性较强的计算机需要能直接处理十进制形式表示的数据。为此,在计算机中还设计了一种中间数字编码形式,它把每一位十进制数用 4 位二进制编码表示,称为二进制编码的十进制表示形式,简称 BCD码(binary coded decimal),又称为二—十进制数。 4 位二进制数码,可编码组合成 16 种不同的状态,而十进制数只有 0,1,…,9 这十个数码,因此选择其中的十种状态作BCD码的方案有许多种,如 8421BCD码、格雷码、余3码等,编码方案见表2.1.1。

表2.1.1 用二进制编码表示的十进制数

十进制数 8421码 2421码 5211码 余3码 格雷码

十进制数的二进制编码0 0000 0000 0000 0011 0000

1 0001 0001 0001 0100 0001

2 0010 0010 0011 0101 0011

3 0011 0011 0101 0110 0010

4 0100 0100 0111 0111 0110

5 0101 1011 1000 1000 1110

6 0110 1100 1010 1001 1010

7 0111 1101 1100 1010 1000

8 1000 1110 1110 1011 1100

9 1001 1111 1111 1100 0100

最常用的 BCD 码是 8421BCD 码。8421BCD 码选取 4 位二进制数的前 10 个代码分别对应表示十进制数的 10 个数码,1010 ~ 1111这 6 个编码未被使用。从表中可以看到这种编码是有权码。四个二进制位的位权从高向低分别为8,4,2和1,若按权求和,和数就等于该代码所对应的十进制数。例如,0110 = 22 21 = 6。 把一个十进制数变成它的 8421BCD 码数串,仅对十进制数的每一位单独进行即可。例如变1986为相应的 8421BCD 码表示,结果为 0001 1001 1000 0110。反转换过程也类似,例如变 0101 1001 0011 0111 为十进制数,结果应为 5937 。 8421BCD 码的编码值与字符 0 到 9 的 ASCII 码的低 4 位相同,有利于简化输入输出过程中从字符 → BCD 和从BCD → 字符的转换操作,是实现人机联系时比较好的中间表示。需要译码时,译码电路也比较简单。 8421BCD 码的主要缺点是实现加减运算的规则比较复杂,在某些情况下,需要对运算结果进行修正。

热销商品

四氟包覆/FEP/PTFE包覆胶O型圈全氟醛FFKMO型圈耐化学腐蚀氟胶

四氟包覆(FEP/PTFE)O型圈及全氟醚(FFKM)O型圈是高性能密封解决方案,专为极端化学环境设计。FEP或PTFE包覆氟橡胶(FKM)芯材的O型圈兼具外层优异的耐化学腐蚀性、抗溶胀性...
5

100%桑蚕丝香云纱饰品发圈发夹口罩眼罩发带腰封直播专拍单拍无效

100%桑蚕丝香云纱饰品系列,精选天然桑蚕丝与非遗香云纱工艺匠心打造,质感柔滑亲肤,光泽雅致,尽显东方韵味。包含发圈、发夹、口罩、眼罩、发带、腰封等多款实用配饰,适...
0.85

氟胶星型密封圈X型圈线径1.78/2.62/3.53/5.33氟橡胶星形圈X-ring

氟胶星型密封圈(X型圈)采用高性能氟橡胶(FKM)材料制成,具有优异的耐高温、耐油、耐化学腐蚀及耐老化性能,广泛应用于汽车、航空航天、液压系统及高端机械设备中。其独特...
2

大量现货 NBR耐油 密封圈 O型圈 橡胶密封圈

大量现货供应NBR耐油密封圈、O型圈及橡胶密封圈,采用优质丁腈橡胶(NBR)材质,具有优异的耐油性、耐磨性和抗压缩永久变形性能,适用于-30℃至+120℃的工作环境。产品广泛...
1

O型圈氟橡胶圆条丁腈胶硅胶垫片防水O三元乙丙EPDM密封件骨架油封

O型圈、氟橡胶圆条、丁腈胶、硅胶垫片、三元乙丙(EPDM)密封件及骨架油封是广泛应用于机械、汽车、航空航天及建筑等领域的关键密封元件。氟橡胶耐高温、耐腐蚀,适用...
1

网站栏目