BCD码的类型

BCD码是一种用4位二进制数表示1位十进制数的编码方式,常见于会计系统和高精度计算。分为有权码(如8421、2421、5421)和无权码(如余3码、格雷码)。8421码是最常用的一种,每位权值为8、4、2、1。5421码特点是最高位连续5个0后连续5个1,适合产生对称方波。余3码则是8421码每个码组加3形成,相邻代码仅有一位不同,常用于运算电路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  BCD码(Binary-Coded Decimal‎),用4二进制数来表示1十进制数中的0~910个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

常用BCD编码方式大致可以分成有权码和无权码两种:

  1. 有权码,如:8421(最常用)、24215421
  2. 无权码,如:余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

8421

8421 BCD码是最基本和最常用的BCD码,是十进制代码中最常用的一种。它和四位自然二进制码相似,各位的权值8421,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的二进制数加起来就可以得到它所代表的十进制数字。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。其中每一位“1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码。如在8421码中:0=00001=00012=0010等。

5421

5421BCD码各位的权依次为5421,也是有权码。其显著特点是最高位连续50后连续51。当计数器采用这种编码时,最高位可产生对称方波输出。5421BCD码的编码方案不是唯一的。

十进制数

5421BCD

0

0000

1

0001

2

0010

3

0011

4

0100

5

1000

6

1001

7

1010

8

1011

9

1100

5421码,从左至右每位的权分别是十进制5421。对于1011这个代码按权展开就是1×5+0×4+1×2+1×1=[8]10,可见5421码中的代码1011代表了十进制数8,其一大特点就是可以直接按权求对应的十进制数

从十六种组合代码中任选十种表示十进制数,余下的六个就是非法码,又称禁止码。禁止码不允许出现,如出现,系统不认识,将产生错误。

8421BCD码只用了前十个代码,余下的六个代码101010111100110111101111,即为禁止码。5421BCD码的禁止码是010101100111110111101111

2421

5421BCD码和2421BCD码为有权BCD码,它们从高位到低位的权值分别为54212421。这两种有权BCD码中,有的十进制数码存在两种加权方法,例如,5421 BCD码中的数码5,既可以用1000表示,也可以用0101表示;2421BCD码中的数码6,既可以用1100表示,也可以用0110表示。这说明5421BCD码和2421 BCD码的编码方案都不是惟一的。

3

3码是8421 BCD码的每个码组加3(0011)形成的。3码是一种变权码,每一位的在不同代码中并不代表固定的数值,主要特点是相邻的两个代码之间仅有一位的状态不同.常用于BCD码的运算电路中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值