計算機用補碼記錄負數,-7的記錄是1111 1001(8位有符號字節),而不是1000 0111。
-7=
1000 0111原
1111 1000反
1111 1001補
正數的補碼就是其本身,
負數的補碼是除符號位取反再加1。
在計算機中,有符號字節8bit 如下
正數
0000 0000-0
0000 0001-1
0000 0010-2
0000 0011-3
負數
1111 1111~-1=-(0+1)
1111 1110~-2=-(1+1)
1111 1101~-3=-(2+1)
1111 1100~-4=-(3+1)
正數的大小看1的位置,這個是常識。
新大陸是負數的絕對值的大小:看0的位置,先把0看做正數中1的位置,會得到一個正數,然後加1,最後加個負號,就是負數的大小。
這就解釋了同樣的n位bit,其表示的數值範圍,負數總比正數多一個。