版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-循環(huán)進位

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

1 + (-1) = 0001 + 1110 = 1111 = -0

2 + (-1) = 0010 + 1110 = 10000 = (循環(huán)進位) 0001 = 1

1 + (-2) = 0001 + 1101 = 1110 = -12 + 0 = 0010 + 1111 = 10001 = 0010 = 2

-1 + (-1) = 1110 + 1110 = 11100 = 1101 = -2

如上,兩個正數(shù)相加,最高位進位位1表示溢出,不會再往上進。一正一負(fù),若和為負(fù),不會產(chǎn)生進位;若和為正,必會產(chǎn)生進位。觀察兩個加數(shù)絕對值的大小可以看出這一規(guī)律。兩個負(fù)數(shù)相加,若不溢出,則會產(chǎn)生進位。

一正一負(fù)相加,和補碼相比,負(fù)數(shù)的那個加數(shù)少加了一(只取反,沒加一)。結(jié)果為負(fù)時,由于結(jié)果應(yīng)是反碼表示的負(fù)數(shù),和補碼相比,補碼結(jié)果多加了一,恰好前面計算少加了一,因此結(jié)果是正確的反碼。又知必然無進位,因此按"循環(huán)進位"法則計算沒問題;結(jié)果為正時,少加的那個一就必須真正地加上了。又由上分析知會產(chǎn)生進位,就描述為"循環(huán)進位"。

兩負(fù)數(shù)相加,與補碼相比,少加了2。又因為結(jié)果是負(fù)數(shù),抵消一個1。又因為必然有進位,所以按照"循環(huán)進位"是正確的。

因此,反碼加法按照"循環(huán)進位"的法則來算才能保證其正確性。1