循環進位

"循環進位"套用於二進制的反碼加減法運算。

基本介紹

  • 中文名:循環進位
  • 外文名:Cycle carry
  • 用途:二進制的反碼加減法運算
  • 學科:計算機技術
  • 類型:算法
  • 出自:加法運算
1 + (-1) = 0001 + 1110 = 1111 = -0
2 + (-1) = 0010 + 1110 = 10000 = (循環進位) 0001 = 1
1 + (-2) = 0001 + 1101 = 1110 = -12 + 0 = 0010 + 1111 = 10001 = 0010 = 2
-1 + (-1) = 1110 + 1110 = 11100 = 1101 = -2
如上,兩個正數相加,最高位進位位1表示溢出,不會再往上進。一正一負,若和為負,不會產生進位;若和為正,必會產生進位。觀察兩個加數絕對值的大小可以看出這一規律。兩個負數相加,若不溢出,則會產生進位。
一正一負相加,和補碼相比,負數的那個加數少加了一(只取反,沒加一)。結果為負時,由於結果應是反碼錶示的負數,和補碼相比,補碼結果多加了一,恰好前面計算少加了一,因此結果是正確的反碼。又知必然無進位,因此按"循環進位"法則計算沒問題;結果為正時,少加的那個一就必須真正地加上了。又由上分析知會產生進位,就描述為"循環進位"。
兩負數相加,與補碼相比,少加了2。又因為結果是負數,抵消一個1。又因為必然有進位,所以按照"循環進位"是正確的。
因此,反碼加法按照"循環進位"的法則來算才能保證其正確性。

相關詞條

熱門詞條

聯絡我們