A. 原碼和補碼是什麼意思
原碼,沒有任何意義。
補碼具有:用正數代替負數,把減法變成加法運算的功能。
這樣,計算機中,只需用一個加法器,便可進行加減運算了。
所以,在計算機中,只是使用補碼。根本就不用原碼和反碼。
對於鍾表,倒撥 4 小時,可用正撥 8 小時代替。
對於十進制數,減一,可以用 +99 代替。
比如:24-1 = 23
24 + 99 = (1) 23
忽略進位,只取低兩位,結果就是相同的。
這里用來代替負數的正數,就叫做「補數」。
計算機用二進制,就叫做「補碼」。
正數,直接運算即可,不用求補碼。
負數的補碼是:模+該負數。
八位二進制的模是:2 的 8 次方=256。
-1 的補碼,就是:256-1 =255 = 1111 1111(二進制)。
-2 的補碼,就是:256-2 =254 = 1111 1110(二進制)。
。。。。。。
-128 的補碼,就是:256-128 =128 = 1000 0000(二進制)。
求補碼,用公式就可得出,並不需要繞道原碼反碼符號位。
B. 無符號數沒有什麼原碼,反碼,補碼的概念
如果101011是原碼的話,從左到右第一位是符號位,指正負,0為正,1為負
(1)01011指數字
那麼這個數字就是-01011(二進制)
變成反碼就是符號位為1,其他位按位取反,為110100
補碼就是反碼+1,為110101
無符號數就是它本身
移碼就是在補碼的基礎上符號位取反,為010101