第一部分

BCD码是用4位二进制数来表示1位十进制数,常用的BCD码是8421BCD码。

对于4个二进制数,如果该位为1,则将该位对应的十进制写出。最终所有的十进制数之和为该BCD码表示的二进制数。

举例:

    BCD码:               0001                0010            1001                  1111

    对应每一位的值: 8421                8421            8421                  8421

    实际对应结果:     0001                0020            8001                  8421

       十进制数:         0+0+0+1         0+0+2+0      8+0+0+1            8+4+2+1

                               1                      2                  9                        15

BCD码是用来表示0、1、2、3、4、5、6、7、8、9这10个数

对应关系如图:

虽然用4位二进制可以表示16 个数,但这里,我们只需要表示出0—9就可以了。多出的6个二进制编码不作任何表示。

第二部分

BCD的加法 :

先将竖式每一位对齐写出,然后4位一组分开。
在加的过程中满二进一的规则进行。得到一串二进制数。
当2个BCD码相加,如果每四位一组的和小于1001(即十进制的10)不需要修正,结果就是最终结果。
如果相加之和不产生进位但结果在1010到1111(即十进制的10到15)之间,则需要修正,需加6进行修正。
如果相加时,本位产生进位,也需加6进行修正。
原本4位二进制相加时,是按逢十六进一,但我们在计算时是按按逢十进一的原则在计算,所以16与10差6,所以当和超过9或有进位时我们都要加6修正【进位是指4位一组向前一个4位一组进1,并不是二进制的1位】
在这里插入图片描述

BCD减法

先将竖式每一位对齐写出,然后4位一组分开。
类似于十进制的减法,不同的是,在这里,本位不够时,向前一个二进制位借一,接到低位时当2处理。
二进制计算的结果要进行修正。
原本4位二进制相减时,是按逢十六减一,但我们在计算时是按按逢十减一的原则在计算,所以16与10差6,少减6,所以有借位时要进行减六修正【进位是指4位一组向前一个4位一组进1,并不是二进制的1位】

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐