計算機中,並沒有原碼反碼,只有補碼。
補碼,是在計算機中,自然形成的,跟原碼反碼毫無關系。
對於補碼,應該直接用二進制來討論,不要繞道並不存在的原碼反碼上去。
以八位機來說明如下。
數字 0,就是用八個位:0000 0000 來存放的。
數字-1,就是用零的二進制,減去壹,即:
0000 0000-1 = (1) 1111 1111,
仍存放八個位,就是 1111 1111 (十進制255)。
數字-2,妳就再減去壹,就是 1111 1110 (=254)。
數字-3,妳就再減去壹,就是 1111 1101 (=253)。
。。。
-128,就是減 128 次壹,最後得 1000 0000 (=128)。
這些就是負數的補碼。
計算公式: 256+該負數
=256-對應的正數
-18 的補碼就是:256-18 = 238 = 1110 1110(二進制)。
妳用“原碼反碼符號位取反加壹”來計算,也壹樣是這個結果。
無聊的時候,再探討原碼反碼吧,反正也沒有任何用處。