BCD码的加减运算
第一部分
BCD碼是用4位二進制數(shù)來表示1位十進制數(shù),常用的BCD碼是8421BCD碼。
對于4個二進制數(shù),如果該位為1,則將該位對應的十進制寫出。最終所有的十進制數(shù)之和為該BCD碼表示的二進制數(shù)。
舉例:
????BCD碼:???????????????0001????????????????0010????????????1001??????????????????1111
????對應每一位的值: 8421????????????????8421????????????8421??????????????????8421
????實際對應結果:?????0001????????????????0020????????????8001??????????????????8421
???????十進制數(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個數(shù)
對應關系如圖:
雖然用4位二進制可以表示16 個數(shù),但這里,我們只需要表示出0—9就可以了。多出的6個二進制編碼不作任何表示。
第二部分
BCD的加法 :
先將豎式每一位對齊寫出,然后4位一組分開。
在加的過程中滿二進一的規(guī)則進行。得到一串二進制數(shù)。
當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位】
總結
- 上一篇: 字符的输入与输出
- 下一篇: 那还剩下多少学习激情?