BCD码的加减运算
第一部分
BCD碼是用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù),常用的BCD碼是8421BCD碼。
對于4個(gè)二進(jìn)制數(shù),如果該位為1,則將該位對應(yīng)的十進(jìn)制寫出。最終所有的十進(jìn)制數(shù)之和為該BCD碼表示的二進(jìn)制數(shù)。
舉例:
????BCD碼:???????????????0001????????????????0010????????????1001??????????????????1111
????對應(yīng)每一位的值: 8421????????????????8421????????????8421??????????????????8421
????實(shí)際對應(yīng)結(jié)果:?????0001????????????????0020????????????8001??????????????????8421
???????十進(jìn)制數(shù):?????????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個(gè)數(shù)
對應(yīng)關(guān)系如圖:
雖然用4位二進(jìn)制可以表示16 個(gè)數(shù),但這里,我們只需要表示出0—9就可以了。多出的6個(gè)二進(jìn)制編碼不作任何表示。
第二部分
BCD的加法 :
先將豎式每一位對齊寫出,然后4位一組分開。
在加的過程中滿二進(jìn)一的規(guī)則進(jìn)行。得到一串二進(jìn)制數(shù)。
當(dāng)2個(gè)BCD碼相加,如果每四位一組的和小于1001(即十進(jìn)制的10)不需要修正,結(jié)果就是最終結(jié)果。
如果相加之和不產(chǎn)生進(jìn)位但結(jié)果在1010到1111(即十進(jìn)制的10到15)之間,則需要修正,需加6進(jìn)行修正。
如果相加時(shí),本位產(chǎn)生進(jìn)位,也需加6進(jìn)行修正。
原本4位二進(jìn)制相加時(shí),是按逢十六進(jìn)一,但我們在計(jì)算時(shí)是按按逢十進(jìn)一的原則在計(jì)算,所以16與10差6,所以當(dāng)和超過9或有進(jìn)位時(shí)我們都要加6修正【進(jìn)位是指4位一組向前一個(gè)4位一組進(jìn)1,并不是二進(jìn)制的1位】
BCD減法
先將豎式每一位對齊寫出,然后4位一組分開。
類似于十進(jìn)制的減法,不同的是,在這里,本位不夠時(shí),向前一個(gè)二進(jìn)制位借一,接到低位時(shí)當(dāng)2處理。
二進(jìn)制計(jì)算的結(jié)果要進(jìn)行修正。
原本4位二進(jìn)制相減時(shí),是按逢十六減一,但我們在計(jì)算時(shí)是按按逢十減一的原則在計(jì)算,所以16與10差6,少減6,所以有借位時(shí)要進(jìn)行減六修正【進(jìn)位是指4位一組向前一個(gè)4位一組進(jìn)1,并不是二進(jìn)制的1位】
總結(jié)
- 上一篇: 字符的输入与输出
- 下一篇: 那还剩下多少学习激情?