BCD碼減法也可用補碼運算代替,原理和之前寫過的八位二進制數補碼運算原理相同。
八位二進制數的範圍是00H~FFH,八位BCD碼的範圍是00H~99H,也可以像補碼運算壹樣畫壹個時鐘,起點是00H,00H逆時針的第壹個數是99H。只要有時鐘,就可以用補碼運算規則,那麽BCD碼的補碼如何求。
舉例說明,紅色弧線便是08H的補碼,計算方法是99H+01H-08H = 9AH - 08H,所以用9AH減去該BCD碼,便可得其補碼。
另外,做BCD碼加減法時,還要進行調整,因為十六進制加法是逢16進1,BCD碼是逢10進1,相差6。
擴展資料:
在計算機內部實現BCD碼之間的算術運算要復雜壹些,即在某些情況下,對加法運算的結果進行修正。修正規則如下:
(1) 若兩個8421碼數相加之和等於或小於1001,不需修正。
(2) 若相加和在10-15之間,壹方面應向高位產生進位,本身還要進行加6修正,進位是在加6修正時產生的。
(3) 若相加之和在16-18之間,向高位進位會在相加過程中自己產生,對本位還要進行加6修正。
參考資料: