1. 機器數
一個數在計算機中的二進制表現形式,叫做這個數的機器數。一個數的最高位表示符號,0是正數,1是負數。
2. 真值
因為機器數是帶符號的,所以機器數不能表示一個數的真正的值。比如-1的機器數是:1000 0001,但是1000 0001轉成10進制是81。-1的真值是:-0000 0001,機器數是把符號用0和1來表示。
3. 原碼
原碼就是符號位加上真值的絕對值。比如:8 原碼是 0000 1000。-8 原碼是 1000 1000。
4. 反碼
正數的反碼,就是其本身。而負數的反碼,保持最高的符號位不變,其余位置取反。比如 8 反碼和原碼相同都是:0000 1000。而-8的反碼則是:1111 0111。由此可以看出,一個負數的反碼,是看不出它的數值的,只能轉回原碼才能計算出。
5. 補碼
正數的補碼,依舊是其本身。而負數的補碼,是在原碼基礎上,符號位不變,其余位置取反再+1。比如:-8 原碼:1000 1000,取反:1111 0111。再加1得到補碼:1111 1000。