機器數與真值
1、機器數
機器數是帶符號的,在計算機用一個數的最高位存放符號,正數為0,負數為1.
(假設字長為 8 位)
3 的機器數 0000-0011
-3 的機器數 1000-0011
2、真值
因為第一位是符號位,所以機器數的形式值就不等於真正的數值。
為區別起見,將帶符號位的機器數對應的真正數值稱為機器數的真值
機器數 --> 真值
0000-0011 --> 3
1000-0011 --> -3
原碼反碼補碼
1、原碼
符號位加上真值的絕對值,即用第一位表示符號,其余位表示值
5[原] --> 0000-0101
-5[原] --> 1000-0101
2、反碼
反碼的表示方法是:
-
正數的反碼是其本身
-
負數的反碼是在其原碼的基礎上, 符號位不變,其余各個位取反.
5[反] = 0000-0101
-5[反] = 1111-1010(原碼:1000-0101)
3、補碼
補碼的表示方法是:
-
正數的補碼就是其本身
-
負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最后+1. (即在反碼的基礎上+1)
5[補] = 0000-0101
-5[補] = 1111-1011(反碼 1111-1010 --> 末位加一得補碼)