BCD加法是一種在計算機科學中用於處理二進制編碼的十進制數(BCD)的加法運算。其過程如下:
對齊位數:首先,將兩個BCD碼的每一位豎式對齊。
分組處理:然後,將每四位一組分開進行加法運算。
加法運算:在加法運算過程中,遵循滿二進一的規則。
結果修正:
如果四位一組的和小於1001(即十進制的9),則不需要修正,結果即為最終結果。
如果相加之和不產生進位但結果在1010到1111(即十進制的10到15)之間,需要進行修正,需加6。
如果相加時本位產生進位,同樣需要加6進行修正。
需要修正的原因是,在機器中按二進制進行加法運算時,4位二進制數相加實際上是按照「逢十六進一」的原則進行的,而實際上我們應該按照「逢十進一」的原則進行加法運算。由於16與10相差6,因此當和超過9或有進位時,都需要加上6來修正結果。