bcd码 php,转载:BCD码

BCD码

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

BCD码全称

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

BCD码优点

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

BCD码应用

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

大数计算等等问题可能都会应用到该问题。

有权码和无权码

有权码和无权码区别是每一位是否有权值。

例如,8421BCD码“0111=7”,0×8+1×4+1×2+1×1=7,8无权值,其他都有权值。

BCD码分类

(1)BCD码分为有权和无权两类:有权BCD码:8421码,2421码,5421码,...

无权BCD码:余3码,格雷码,...

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

(2)BCD码又可分为压缩式和非压缩式两类。非压缩式一般是一个字节来表示,其中高四位置0,低四位表示相应数字。压缩式仅采用四位表示相应的数字。

8421码

其他较常用的BCD码

各种BCD码的特点

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

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

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

BCD码举例

以8421码为例。

(1)十进制数:123

对应的8421码为:0001 0010 0011

(2)8421码:0011 0010 0001

对应的十进制数为:321

8421码的进位

因为8421码中的9为1001,10为0001 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码

--------------------- 本文来自 三五月儿 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yl2isoft/article/details/16916889?utm_source=copy

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值