范圍是 -128至127.
根據補碼的幾條規定即可推出上述結論:
1 若二進制每位全為0,則表示數0
2 若最高位(即符號位)為0,表示正數
3 若最高位為1, 表示是負數,而該負數的絕對值是多少呢?將每個二進制位(包括符號位)取反加1,得到一個二進制數,將該數看成無符號數,其值就是上述負數的絕對值。
例如,二進制的 10000000 的最高位為1, 所以它表示的是負數。是負的多少呢?我們將其八位全部取反,得到01111111, 然后加1,得到10000000. 將該數看作無符號數,值為128, 故計算機中的10000000表示的是-128
最高位(即符號位)為1的8位有符號數有128個,故可表示128個負數;最高位為0的8位有符號數有128個,但全0的那個表示數0,所以總共只能表示127個正整數。
https://wenku.baidu.com/view/4d9cfe8b7cd184254a353515.html
用2^8來表示無符號整數的話,全世界的理解都是0 - 255了,那么,有符號呢? 用 最高位表示符號,0 為+,1 為-,那么,正常的理解就是-127 至+127 了.
這就是原碼了,值得一提的是,原碼的弱點,有2 個0,即+0 和-0,還有就是,進行異 號相加或同號相減時,比較笨蛋,先要判斷2個數的絕對值大小,然后進行加減操作,
最后運算結果的符號還要與大的符號相同.
於是乎,反碼產生了,原因....略,反正,沒過多久,反碼就成為了過濾產物,也就是,后 來補碼出現了. 補碼的知識不說述,只說有關+127 和-128 的.
官方的定義[-2^(n-1),2(n-1)-1],
http://blog.csdn.net/shuzfan/article/details/77601037
在計算機中無符號數用原碼表示,有符號數用補碼表示。w位補碼表示的值為:
最高位 也稱符號位,1表示負數,0表示正數,符號位為0時,和無符號數的表示是相同的,以下是4位補碼的示例:
0101 = -0*23 + 1*22 + 0*21 + 1*20 = 5
1101 = -1*23 + 1*22 + 0*21 + 1*20 = -3
w位的補碼表示的數值范圍是[-2w-1, 2w-1-1],如4位的補碼表示的最小值是-8(1000),最大值是7(0111)。