8位有符號數的取值範圍

2021-07-25 04:37:53 字數 509 閱讀 8408

首先我們知道,計算機以補碼的形式儲存的,正數的補碼是原碼不變,負數的補碼是原

碼的取反加1。

我們先來看+127,原碼0111 1111對吧,若+128是多少呢,0111 1111 + 1 = 1000 0000

(原碼),然後儲存時,計算機一看是最高位為1,就保持符號位不變,後面7位取反加

1,然後呢,進製捨棄,還是1000 0000(-128)。所以對於8位資料來說,+128 實際上變

成 - 128。

對於-128我們來看,首先對於負數,計算機處理是保持符號位不變,剩餘位先取絕對值

然後取反加1,128(取絕對值)1000 0000 取反(1111 1111),加1 (1000 0000),

所以-128的補碼是1000 0000(原碼和補碼一樣的),下面,我們來看一下-129的

值,-128的原碼為 1000 0000 減1 等於0111 1111 (原碼計算就沒有那些規矩了,直接

計算就行了),然後儲存,計算機一看正數,就直接儲存了+127.

8位有符號數的補碼表示範圍

範圍是 128至127.根據補碼的幾條規定即可推出上述結論 1 若二進位制每位全為0,則表示數0 2 若最高位 即符號位 為0,表示正數 3 若最高位為1,表示是負數,而該負數的絕對值是多少呢?將每個二進位制位 包括符號位 取反加1,得到乙個二進位制數,將該數看成無符號數,其值就是上述負數的絕對值。...

有符號數和無符號數的範圍

參考這篇文章 無符號數 最高位不用來表示正負,它沒有負數,比如,4位無符號數表示的範圍,0000 1111,大小即0 15,有符號數 最高位用來表示正負,對於有符號數表示的範圍我們要著重談一下,4位有符號數,負數最小值很多人認為是1111 即 6 然而並不是,我們先把4位有符號數大概全部都寫出來是這...

有符號數的符號位擴充套件

char和int型別都是由符號數型別,char型別的變數佔據1個位元組的容量,int型別的變數佔據4個位元組的容量。那麼,把char型別變數賦給int型別變數,會有什麼問題產生?我們會很直觀地認為,把1個位元組大小的資料,放入4個位元組大小的容量,沒有任何問題啊!我們做如下的乙個測試例子 inclu...