第一部分的BCD码用四位二进制表示一位十进制数,常用的BCD码是8421BCD码。
对于四个二进制数,如果该位为1,则写出与该位对应的十进制数。 最终的所有十进制数之和是该BCD码表示的二进制数。
示例:
BCD码:001001001111
与各位对应的值:84218421842184218421842184218421
实际应对结果:0001002080018421
十进制:0 0 0 10 0 2 0 8 0 0 18 4 2 1
12915
BCD码用于表示0、1、2、3、4、5、6、7、8、9这10个个数
对应关系如下。
四位二进制可以表示16个数,这里只需要表示0-9即可。 的六个二进制代码什么都没有表示。
第2部分BCD的相加:将垂直的各位对齐导出,然后分成4位。
在加法过程中满足二进制一的规则进行。 得到一系列的二进制数。
如果将两个BCD代码相加,则如果每四位的总和小于1001,即小于十进制的10,则无需修改,最终结果是。
如果不发生加法和进位,但结果介于1010到1111之间,即十进制10到15之间,则需要修改,必须加上6进行修改。
如果加算时本位出现进位,也需要加6进行修正。
原来四位二进制数相加后每十六进制计算一次,计算时每十进制计算一次,所以十六和十相差六。 因此,和超过9或有进位时,加6进行修正。 【进位是指每4位前进,每4位前进1,而不是2进制的1位】
BCD减法将垂直的各位对齐导出,然后分成4位。
类似于十进制减法,但是这里本位不够的话,就向前一个二进制位借1,在收到低位时作为2处理。
必须修改二进制计算的结果。
本来减去四位二进制数的时候,所有的16减去1,但是我们计算的时候都是按照所有的10减去1的原则来计算。 因此,16和10的差为6,等于减少6。 因此,如果有借位的话,进行减少6的修正。 【进位是指每前4位前进4位1,而不是2进制的1位】