二进制转BCD之“加3移位法”原理

BCD——也称8421二–十进制码,是一种以4位二进制数表示一位十进制数的编码。由于BCD码与十进制数具有一一对应关系,因此BCD码很适合于人机交互(显示和输入)场景。

二进制数转BCD码常使用3移位法来处理,而不使用除法,是因为除法占用CPU寄存器的数量较多——CPU寄存器在计算机处理中,是存取速度最快速的临时存储器,数量是非常有限,对于8位单片机来说其数量也仅是个位数。

加3移位法的基本原理:4位二进制数的数容空间是16个整数值(0,1,…,15),而每位十进制的数容空间为10个整数值(0,1,…,9),即BCD码中的4位二进制数有6个数值空间未使用。为了使这6个空间不被“非法”占用,就需要+6来使非法占用的部分溢出——自动进位到高位。

因此,溢出修正的基本原理可表示为:

(由于Web排版不便,下文将以图片形式给出,

高清文件参见https://download.csdn.net/download/zjyzfn/89509043

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘羽扬风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值