假設計算機用8位字長儲存定點整數,為什麼其處理範圍是 128 127,而不是 127 127?

時間 2021-06-06 13:18:05

1樓:7337

twos complement高中時代的乙個有趣的東西,畢竟2^8能正好表示256個數呢,不能這麼浪費了對吧,char正好填滿乙個byte

2樓:Madman

2's Complement:E.g. 假設我們要儲存乙個數字 28

二進位制下

00011100

在2『s Complement的規則下 -28 :

在***的基礎上+1,把0和1反轉得到

1110010

在2『s Complement之前,我們用把0和1對調的方式表示負數,例如:

3:0011

-3 :1100

但是這麼做的問題會導致會有+0(00000000)和-0(1000000), which leads to your question, 如果有+0 和 -0的話,那麼表示的範圍確實是-127 ~ +127;

但是通過使用two『s complement, 我們不再表示-0(which 很多餘因為+0 == -0),所以負數可以多表示乙個,也就是 -128:

11111111

3樓:Endlessimal

-127到127有255個數,8bit可以表示256個數,原碼裡面***和00000000都表示0,採用原碼,值域確實是-127到127,不過計算機中數值都是用補碼表示的,補碼中***是表示-128的

計算機女生用什麼電腦

Misa 價效比高是自己組裝台式電腦 抗用,用起來各方面都很舒服 用少錢可以辦同樣的事 筆記本的話 目前我推薦小歐和戰66或者聯想小新高配版 買電腦你主要關注幾個點就好 記憶體 8g 固態硬碟 120g 1T機械硬碟 螢幕主機板電源 差不多主要就這幾樣 我也是女生,我自己裝的台式電腦用了6年,一次都...

計算機是用導函式計算導數的嗎?

fever wong 首先,兩個軟體計算導數,都是通過呼叫符號變數計算包,然後帶入值求解,但是,Matlab在符號變數計算方面並不如Mathematica和Maple,它的優勢在於數值計算,因此計算符號變數計算價效比並不高,所以一般不用Matlab進行符號計算。我們可以在Matlab中使用一些數值方...

計算機專業用聯想think pad L460合適嗎?

WalterS 與其說計算機專業用前幾代的產品是不是合適,還是先看學校傳授的知識,是否該產品是否HOLD住。從效能方面,標壓CPU 是強於低壓CPU,這些從CPU字尾可以看出來 L460 的產品都是低壓產品,如果現在專業的課程和作業都是4年前的內容,沒有新增或變化,理論上是夠用的。但是學校教的可能遠...