8421BCD码的加6修正的原因

首先举出一个例子:8 + 9 

二进制中即:0000 1000

                +    0000 1001

                    (高位) (低位)

                                                     

                      0001 0001 

分析:

1.首先需要明确的是:二进制就像一个爸爸,十进制就像一个妈妈,他们二人生出了一个孩子它叫BCD码,它们一家人对于数学计算都有着自己的一套:爸爸是逢2进1,妈妈是逢10进1,这个BCD码作为前二者孩子它自然有着前两者的部分特点:1.每4位有着二进制的外观;2. 每4位有着十进制的内涵(只能表示出1~9)。即是一个逢10进1的二进制。

因此,需要时刻注意的是BCD码的内涵是十进制,内涵是十进制,内涵是十进制,也就是每4bit位就要看作一个十进制中的数字,遇十就要进位,进位的操作就是在加4bit位来表示新的位(因为BCD码要用4位二进制才可以表示出十以内的数字)。

举个例子,如十进制中9,BCD就是1001共4bit位。而如果接下来9+39=48,因为48>10,所以无论对于十进制来说还是BCD码都要进位,而对于十进制来说只需要进1位放‘4’即可;而对于BCD码来说,需要进4位来表示(因为BCD码要用4位二进制才可以表示出十以内的数字),而接着虽然BCD码是十进制的内涵,但是却用着二进制的一套计算(二进制的外观),而二进制进4位是因为遇到了16才进位,而BCD码却偏要遇10就进位,这就造成了两者相差了6。

上面说到,BCD码要二进制与十进制兼得,既要二进制外观,也要十进制内涵,所以BCD码只需要加上6就可以兼得二进制与十进制了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值