|
計算機(jī)里面,只有加法器,沒有減法器,減法,必須用加法來完成。對于 100 以內(nèi)的十進(jìn)制數(shù),《減1》,就可以用《加99》代替。比如 25 - 1 = 24,可以寫成 25 + 99 = (1)24。限定了兩位數(shù),-1 和 +99是等效的。同樣,-2,可以用 +98 代替。……它們之間,稱為《補(bǔ)數(shù)》。100 稱為《模》。
對于 8 位二進(jìn)制數(shù):0000 0000~1111 1111(255),模為256。-1,可以用 255(11111111)代替。-2,可以用 254(11111110)代替。……這些二進(jìn)制數(shù),就稱為負(fù)數(shù)的《補(bǔ)碼》。已知一個負(fù)數(shù),求其補(bǔ)碼,用模計算一下,大家都能算出來。
正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼需要轉(zhuǎn)換為下面:保留最高位符號位,
原碼-->補(bǔ)碼:取反加1
補(bǔ)碼-->原碼:減1取反
(1)正數(shù)的補(bǔ)碼:與原碼相同。 例如,+9的補(bǔ)碼是00001001。(2)負(fù)數(shù)的補(bǔ)碼:符號位為1,其余位為該數(shù)絕對值的原碼按位取反;然后整個數(shù)加1。例如,-7的補(bǔ)碼:因為是負(fù)數(shù),則符號位為“1”,整個為10000111;其余7位為-7的絕對值+7的原碼0000111按位取反為1111000;再加1,所以-7的補(bǔ)碼是11111001。
|
|