BCD码总结

写在前面

最近在开发中接触到BCD码,现对了解到的BCD码知识作个总结,以便以后留用。

 

BCD

4位二进制数来表示十进制数中的0~9这十个数码的编码形式,简称为BCD码。

 

BCD码全称

BCD码英文全称为Binary-Coded Decimal,简称为BCD码或者二-十进制代码,亦称为二进码十进数。

 

BCD码优点

这种编码形式使二进制和十进制之间的转换能够快捷进行。采用BCD码,既可保存数值的精确度,又可避免使电脑作浮点运算时所消耗的时间。

 

BCD码应用

最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串做准确的计算。也被用于其他需要高精度计算的场合。

 

BCD码分类

(1)BCD码分为有权无权两类:

  • 有权BCD码:8421码,2421码,5421码,...
  • 无权BCD码:余3码,格雷码,...

        其中,8421码是最常用的有权BCD码。

(2)BCD码又可分为压缩式非压缩式两类。

 

8421

十进制数

8421

 

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

 

其他较常用的BCD码         

十进制数

5421

 

2421

3

0

0000

0000

0011

1

0001

0001

0100

2

0010

0010

0101

3

0011

0011

0110

4

0100

0100

0111

5

1000

1011

1000

6

1001

1100

1001

7

1010

1101

1010

8

1011

1110

1011

9

1100

1111

1100

      

各种BCD码的特点

8421码编码直观,易于理解,最常用

5421码和2421码中大于5的数字都是高位为15以下的高位为0

3码是在8421码基础上加上3,有上溢出和下溢出的空间            

 

BCD码举例

8421码为例。

1)十进制数:123

对应的8421码为:0001 0010 0011

28421码:0011 0010 0001

对应的十进制数为:321

 

8421码的进位

因为8421码中的91001100001 0000,可见8421码遇见1001就产生进位。而普通的二进制码,到1111才产生进位10000

 

BCD码运算

BCD码传送给运算器运算时,需要进行修正。

修正规则为:

  • 当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;
  • 如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;
  • 如果相加时,本位产生了进位,也需加 6 进行修正。

 

运算举例

(1)计算1+2

  0 0 0 1

+0 0 1 0

  0 0 1 1

结果为3,小于9,不需要修正。

(2)计算5+8

   0 1 0 1

+1 0 0 0

  1 1 0 1

结果大于9需加 6 进行修正。

  1 1 0 1

+0 1 1 0

1 0 0 1 1

10011对应的十进制数为13

 

参考资料

(1)百度百科:BCD码

(1)博文《BCD码》:http://home.gongkong.com/profile/blogdetail.aspx?id=2011042722165600006

 

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值