8421BCD码的加6修正问题的疑惑

我是以在校学生,刚接触到8421BCD码,啥都不懂。书上说当计算机进行二进制加法的时候,当低四位向高四位进位的或者低位大于9的时候需要加6修正,即 0110 。我想知道为什么不是加7或者加5,也就是说 6 是怎么推导出来的?我想知道详细的推导过程。希望高手不吝赐教。谢谢。

调整原理:先看一个例子
计算8+9 0000 1000
见右式 + 0000 1001
——————
0001 0001 =11
高4位上的1代表16,而实际上仅应为10,即多进了6.

结果应为17,而计算机相加为11,原因在于运算过程中,如遇到低4位往高4位产生进位时,是按逢十六进一的规则,但BCD码要求逢十进一,因此只要产生进位,个位就会少6,这就要进行加6调整 ,另外实际上当低4位的结果大于9时,也应进行加6调整,原因是逢十没有进位,故用加6的方法强行产生进位 (希望能帮到你)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-24
BCD码就是10进制码,8421表示不同位上代表的数值是多少
比如
23用8421码表示为 0010 0011,再比如9 + 6 = 15分别表示为
9 1001
6 0110
9 + 6 1111
但是15表示 0001 0101
为了让 9+ 6 =15,这时候 1111 +
6 0110
= 0001 0101 正好是15,所以都要加6
也可以理解为16进制 - 10进制 = 6.
如果有17进制那就要加7了,15进制就要加5了。可惜没有这个进制本回答被网友采纳
第2个回答  2022-09-02

8421BCD 码,是代表一位十进制数的。

十进制数的运算,是:逢十进一。

计算机,是按照二进制来运算,是:逢二进一。

对于四位二进制,则是:逢十六进一。

如果超过了十,它还不进位!

那么,就给它加个六!