為什麼8位補碼定點整數所能表示的絕對值最大的負數的值為

時間 2021-09-10 01:13:05

1樓:額手機壞了

4位二進位制原碼中沒有-8的表示,就不能用平時口訣的方法把-8進行原碼補碼的轉換了。

要理解4位二進位制補碼中的-8是1000這結論,只能回到補碼的起點。

介紹預備知識:

先理解:補碼利用模和同餘概念在運算時可使減法轉換成減法。

例如:在12小時制中,以1點鐘為起點,向後逆時針轉2點到11點,但向前順時針轉10點也是可以到11點的。如此就把1點-2點=11點轉換成1點+10點=11點。

此處模為12,-2與10對12同餘。

再回到本題:

補碼是在計算意義上存在的,是為了以加法代替減法。

4位有符號二進位制中模為8:-8的同餘數就是0,則-8的補碼為-000即1000,其**為x-8要轉換成x+0的加法計算意義。

這樣也符合補碼的計算。例如-1+-7=-8=

-001(原碼)+-111(原碼)=1111(補碼)+1001(補碼)=11000=1000(補碼)

別看上面那個答案,實際上反而很繞。

2樓:汲溫道綾

補碼是負數絕對值取反加1得到,因此絕對值取反最大的才是關鍵,注意絕對值是正數,而8位二進位制數能表示的最大正數是7個1,01111111b,加1=10000000b

那麼10000000b是幾的補碼呢?反序求一下絕對值就知道了:先減1=01111111b,然後取反=10000000b=128d,因此-128的補碼為10000000b,是最小的數

3樓:充連枝饒亥

「為什麼n位定點整數絕對值最大的負數用補碼表示是-2^n」

抄書都抄錯了。用補碼表示、n位整數中絕對值最大的負數是-2^(n-1).

例如補碼表示8位整數,其有效範圍是-128~+127,其中絕對值最大的負數是-128,也就是-2^7。其二進位制表述方式為[1000

0000]。

為什麼8位補碼定點整數所能表示的絕對值最大的負數的值為-128。

4樓:匿名使用者

4位二進位制原碼中沒有-8的表示,就不能用平時口訣的方法把-8進行原碼補碼的轉換了。

要理解4位二進位制補碼中的-8是1000這結論,只能回到補碼的起點。

介紹預備知識:

先理解:補碼利用模和同餘概念在運算時可使減法轉換成減法。

例如:在12小時制中,以1點鐘為起點,向後逆時針轉2點到11點,但向前順時針轉10點也是可以到11點的。如此就把1點-2點=11點轉換成1點+10點=11點。

此處模為12,-2與10對12同餘。

再回到本題:

補碼是在計算意義上存在的,是為了以加法代替減法。

4位有符號二進位制中模為8:-8的同餘數就是0,則-8的補碼為-000即1000,其**為x-8要轉換成x+0的加法計算意義。

這樣也符合補碼的計算。例如-1+-7=-8=

-001(原碼)+-111(原碼)=1111(補碼)+1001(補碼)=11000=1000(補碼)

別看上面那個答案,實際上反而很繞。

5樓:匿名使用者

補碼是負數絕對值取反加1得到,因此絕對值取反最大的才是關鍵,注意絕對值是正數,而8位二進位制數能表示的最大正數是7個1,01111111b,加1=10000000b

那麼10000000b是幾的補碼呢?反序求一下絕對值就知道了:先減1=01111111b,然後取反=10000000b=128d,因此-128的補碼為10000000b,是最小的數

為什麼8位二進位制的補碼取值範圍是-128~127

6樓:匿名使用者

八位二進位制正數的補碼範圍是0000 0000 ~ 0111 1111 即0 ~ 127,負數的補碼範圍是正數的原碼0000 0000 ~ 0111 1111 取反加一(也可以理解為負數1000 0000 ~ 1111 1111化為反碼末尾再加一)。

所以得到 1 0000 0000 ~ 1000 0001,1000 0001作為補碼,其原碼是1111 1111(-127),依次往前推,可得到-1的補碼為1111 1111,那麼補碼0000 0000的原碼是1000 0000符號位同時也可以看做數字位即表示-128,這也解釋了為什麼127(0111 1111)+1(0000 0001)=-128(1000 0000)。

在計算機中資料用補碼表示,利用補碼統一了符號位與數值位的運算,同時解決了+0、-0問題,將空出來的二進位制原碼1000 0000表示為-128,這也符合自身邏輯意義的完整性。因此八位二進位制數表示範圍為-128~+127。

拓展資料:補碼的特性:

1、乙個負整數(或原碼)與其補數(或補碼)相加,和為模。

2、對乙個整數的補碼再求補碼,等於該整數自身。

3、補碼的正零與負零表示方法相同。

7樓:echo丶

首先八位二進位制數 0000 0000 ~1111 1111,一共可以表示 2^8=256 位數,如果表示無符號整數可以表示0~255。計算方法就是二進位制與十進位制之間的轉換。

如果想要表示有符號整數,就要將最前面乙個二進位制位作為符號位,即0代表正數,1代表負數,後面7位為數值域,這就是原碼定義。這樣在現實生活中完全沒有問題,但在計算機中就出現了問題。

數的表示:

在原碼中,0的表示有兩種(+0)0000 0000、(-0)1000 0000,這樣就產生了編碼對映的不唯一性,在計算機上就要區分辨別。然而+0、-0卻沒有什麼現實意義。

數的運算:

為了解決上述數的表示問題,我們可以強制把轉換後的10000000強制認定為-128。但這又出現了乙個新的問題就是數的運算。數學上,1+(-1)=0,而在二進位制中00000001+10000001=10000010,換算成十進位制為-2。

顯然出錯了。所以原碼的符號位不能直接參與運算,必須和其他位分開,這就增加了硬體的開銷和複雜性。

這個時候就要引入補碼,補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。反碼定義為:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

但為什麼要引入補碼呢?

以及負數補碼定義為什麼是相對應的正數原碼取反加一?

一、為什麼要引入補碼?

先解決第乙個問題,引入補碼是為了解決計算機中數的表示和數的運算問題,使用補碼,可以將符號位和數值域統一處理,即引用了模運算在數理上對符號位的自動處理,利用模的自動丟棄實現了符號位的自然處理,僅僅通過編碼的改變就可以在不更改機器物理架構的基礎上完成的預期的要求。

二、什麼是「模」?

模的概念可以幫助理解補數和補碼。

「模」是指乙個計量系統的計數範圍。如時鐘等。計算機也可以看成乙個計量機器,它也有乙個計量範圍,即都存在乙個「模」。

例如: 時鐘的計量範圍是0~11,模=12。表示n位的計算機計量範圍是0~2^(n)-1,模=2^(n)。

「模」實質上是計量器產生「溢位」的量,它的值在計量器上表示不出來,計量器上只能表示出模的餘數。任何有模的計量器,均可化減法為加法運算。例如:

假設當前時針指向10點,而準確時間是6點,調整時間可有以下兩種撥法:一種是倒撥4小時,即:10-4=6;另一種是順撥8小時:

10+8=12+6=6 在以12模的系統中,加8和減4效果是一樣的,因此凡是減4運算,都可以用加8來代替。對「模」而言,8和4互為補數。實際上以12模的系統中,11和1,10和2,9和3,7和5,6和6都有這個特性。

共同的特點是兩者相加等於模。

對於計算機,其概念和方法完全一樣。n位計算機,設n=8, 所能表示的最大數是11111111,若再加1成為100000000(9位),但因只有8位,最高位1自然丟失。又回了00000000,所以8位二進位制系統的模為2^8。

在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了。把補數用到計算機對數的處理上,就是補碼。

對乙個正數的原碼取反加一,得到這個正數對應負數的補碼。例如~6=-7,而且加一之後會多出乙個八進位制補碼1000 0000,而這個補碼就對應著原碼1000 0000,數字位同時當做符號位即-128。

根據以上內容我們就可以來解釋八位二進位制數的表示範圍:

八位二進位制正數的補碼範圍是0000 0000 ~ 0111 1111 即0 ~ 127,負數的補碼範圍是正數的原碼0000 0000 ~ 0111 1111 取反加一(也可以理解為負數1000 0000 ~ 1111 1111化為反碼末尾再加一);

所以得到 1 0000 0000 ~ 1000 0001,1000 0001作為補碼,其原碼是1111 1111(-127),依次往前推,可得到-1的補碼為1111 1111,那麼補碼0000 0000的原碼是1000 0000符號位同時也可以看做數字位即表示-128,這也解釋了為什麼127(0111 1111)+1(0000 0001)=-128(1000 0000)。

總結:

在計算機中資料用補碼表示,利用補碼統一了符號位與數值位的運算,同時解決了+0、-0問題,將空出來的二進位制原碼1000 0000表示為-128,這也符合自身邏輯意義的完整性。因此八位二進位制數表示範圍為-128~+127。

補充資料:

在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。

原碼(true form)是一種計算機中對數字的二進位制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:

+0和-0),其餘位表示數值的大小。

8樓:塔罵德

8位二進位制的範圍就是-128~127,也就是-2^7~2^7-1,所以反碼也是這樣。

計算機對有符號數(包括浮點數)的表示有三種方法:原碼、反碼和補碼8位原碼能夠表示數的範圍是 -127~1278位反碼能夠表示數的範圍是 -127~1278位補碼能夠表示數的範圍是 -128~127既然範圍是-128~127,那肯定是用補碼表示的。

9樓:沙里波特

在補碼中,負數

非負數,是一樣多的。

字長 8 位,共有 256 組**。

用其中的一半(128 個),表示負數,就是-128~-1。

用其中的一半(128 個),表示非負數,即 0~+127。

綜合,就是-128  ~ +127。

8位二進位制補碼錶示整數的最小值是什麼,最大值是什麼

四舍 入 最大 127,最小百 128 補碼錶示的數,是沒有正負度0的,因此除了最高位的符問號位以外,可以答表示的數最大為版 127,因此最大為 127 而因為 10000000,並不是表權示為 0 因此人家用 1000000表示 128 1 正數的反碼和補碼都與原碼相同。2 而負數的反碼為對該數的...

8的補碼是多少為什麼 1的反碼是

樓主你好,我們先來看看反碼的概念,簡單的說,正數的反碼與原始碼一致,負數的反碼符號位不變,其他位按位取反.0可以理解為正,也可以理解為負,所以有兩種表示.你說 1的反碼是 126,這是用8位2進製來表示乙個數.第一位表示符號位,1換算成2進製為10000001,根據反碼的規則,它的反碼為111111...

座機號為什麼有些地區是8位,有些地區是7位

因為某些地區的使用者過多7位不夠用就多了一位。原因 1.有些地區7位數的號碼容量已經不夠本地交換機使用者的最大負荷量,才會公升級到8位。2.在大城市,一般都是8位數的。3.座機號碼有7位數也有8位數。座機查詢方法 座機,可以撥打座機所在地的114查號台來查詢,如果非個人使用者,114會告訴名稱和位址...