首先举出一个例子: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就可以兼得二进制与十进制了。