帶符號的8位二進位制範圍為什麼是 2的7次 至 2的7次

2023-01-18 19:40:38 字數 5362 閱讀 5305

1樓:匿名使用者

因為機器中負數使用補碼錶示的

所以正負數表示是不對稱得,你可以研究下機器碼最小:10000000 這裡不是-0,而是-(2的7次)最大:01111111 (2的7次-1)這是由於負數採用補碼錶示

11111111 -1

11111110 -2

...........

10000001 -127

10000000 -128

因為10000000 + 1 = 10000001所以10000000表示-128而不是-0 (方便計算,如果是-0還需要進行轉換)

2樓:匿名使用者

關於補碼:

a.最高位是符號位:

b.正數就是原碼

c.負數就是對應原碼取反再加1,符號位不變1-00000001

2-00000010

-1:原碼:

10000001

取反:(符號位不變)

11111110

加1:11111111

-2:原碼:

10000010

取反:(符號位不變)

11111101

加1:11111110

快算:1)取絕對值原碼

2)從右往左看保留第一個1及右邊的0,將1之前的所有位取反求-127補碼:

1)01111111(127原碼)

2)10000001

求-64補碼:

1)01000000(64原碼)

2)11000000

--------------------------------最小:10000000  這裡不是-0,而是-(2的7次)最大:01111111  (2的7次-1)這是由於負數採用補碼錶示

11111111 -1

11111110 -2

...........

10000001 -127

10000000 -128

因為10000000 + 1 = 10000001所以10000000表示-128而不是-0 (方便計算,如果是-0還需要進行轉換)

八位二進位制有符號數能表示的範圍是負2的七次方到2的七次減一,負2的七

3樓:天使財經顧問

2^10=1024,可以表示的範圍是0~1023。7位二進位制補碼可以表示的範圍是-64~+63,所以最小的數是-64。數在計算機中被表示成二進位制編碼,常用的有二進位制補碼、二進位制原碼等等。

4樓:匿名使用者

有符號最高位為符號位所以是2的7次方,11111111表示的是-128=-2^7至於減一是有個正0和負0。

帶符號的8位2進位制數為什麼最小是-128?

5樓:匿名使用者

+0的補碼就是其原碼,也就是說是0000 0000而已(對於8位來說)。

-0的補碼是其反碼加1,其反碼是1111 1111,當然,其反碼加1後就是溢位一個進位後,仍然是0000 0000。

所以0和-0的補碼都是0000 0000

根據補碼原則,0000 0000表示0,而1000 0000卻不能表示-0,所以根據原則可知,-1000 0000表示的是-128。

這就是為什麼8位帶符號數的範圍是-128~127之間了。

其實就是1000 0000表示誰呢,誰也表示不了,那就用來表示-128吧,所以8位2進位制數最小-128。

6樓:高金山

樓上的說(估計是copy過來的),這麼多,我估計樓主也不明白!

我給你簡單講一下吧:

7位2進位制數000 0000的值為0,那麼,它前面加上0,還表示0吧?

那好,如果它前面加上1呢,仍然表示0?這不是重複了麼?

一個0,怎麼用兩個值來表示呢?

所以1000 0000就表示-128啦

7樓:匿名使用者

1、在計算機系統中,數值一律用補碼來表示(儲存)。

主要原因:使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補

碼錶示的數相加時,如果最高位(符號位)有進位,則進位被捨棄。

2、補碼與原碼的轉換過程幾乎是相同的。

數值的補碼錶示也分兩種情況:

(1)正數的補碼:與原碼相同。

例如,+9的補碼是00001001。

(2)負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反;然後整個數加1。

例如,-7的補碼:因為是負數,則符號位為「1」,整個為10000111;其餘7位為-7的絕對值+7的原碼

0000111按位取反為1111000;再加1,所以-7的補碼是11111001。

已知一個數的補碼,求原碼的操作分兩種情況:

(1)如果補碼的符號位為「0」,表示是一個正數,所以補碼就是該數的原碼。

(2)如果補碼的符號位為「1」,表示是一個負數,求原碼的操作可以是:符號位為1,其餘各位取

反,然後再整個數加1。

例如,已知一個補碼為11111001,則原碼是10000111(-7):因為符號位為「1」,表示是一個負

數,所以該位不變,仍為「1」;其餘7位1111001取反後為0000110;再加1,所以是10000111。

在「閒扯原碼、反碼、補碼」檔案中,沒有提到一個很重要的概念「模」。我在這裡稍微介紹一下「模」

的概念:

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

圍,即都存在一個「模」。例如:

時鐘的計量範圍是0~11,模=12。

表示n位的計算機計量範圍是0~2(n)-1,模=2(n)。【注: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)。 在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以

了。把補數用到計算機對數的處理上,就是補碼。

另外兩個概念

一的補碼(one's complement) 指的是正數=原碼,負數=反碼

而二的補碼(two's complement) 指的就是通常所指的補碼。

這裡補充補碼的代數解釋:

任何一個數都可以表示為-a=2^(n-1)-2^(n-1)-a;

這個假設a為正數,那麼-a就是負數。而根據二進位制轉十進位制數的方法,我們可以把a表示為:a=k0*2^0+k1*2^1+k2*2^2+……+k(n-2)*2^(n-2)

這裡k0,k1,k2,k(n-2)是1或者0,而且這裡設a的二進位制位數為n位,即其模為2^(n-1),而2^(n-1)其二項是:1+2^0+2^1+2^2+……+2^(n-2),而式子:-a=2^(n-1)-2^(n-1)-a中,2^(n-1)-a代入a=k0*2^0+k1*2^1+k2*2^2+……+k(n-2)*2^(n-2)和2^(n-1)=1+2^0+2^1+2^2+……+2^(n-2)兩式,2^(n-1)-a=(1-k(n-2))*2^(n-2)+(1-k(n-3))*2^(n-3)+……+(1-k2)*2^2+(1-k1)*2^1+(1-k0)*2^0+1,而這步轉化正是取反再加1的規則的代數原理所在。

因為這裡k0,k1,k2,k3……不是0就是1,所以1-k0,1-k1,1-k2的運算就是二進位制下的取反,而為什麼要加1,追溯起來就是2^(n-1)的二項式最後還有一項1的緣故。而-a=2^(n-1)-2^(n-1)-a中,還有-2^(n-1)這項未解釋,這項就是補碼裡首位的1,首位1在轉化為十進位制時要乘上2^(n-1),這正是n位二進位制的模。

不能貼公式,所以看起來很麻煩,如果寫成代數式子看起來是很方便的。

注:n位二進位制,最高位為符號位,因此表示的數值範圍-2^(n-1) ——2^(n-1) -1,所以模為2^(n-1)。上面提到的8位二進位制模為2^8是因為最高位非符號位,表示的數值範圍為0——2^8-1。

8樓:匿名使用者

樓上得 得補充說明下

2進位制正負 計算機硬體得判斷是用補碼

這個補碼是為了方便計算

至於怎麼用 你不需要明白,就不做解釋了

這個取補

給你說明下

010101==21是個整數吧

他的負數就是他的補碼

就是全部取反(能明白嗎? 上面那個就變成101010)然後在+1

但是因為同時出現1000000 和0000000兩個0 所以計算機認為1000000是-128得反補碼 也就是樓上得那個意思

我就是給樓上補充下呵呵

這個補碼

要不怕你看不懂

用8位二進位制的補碼錶示帶符號的整數,所能表示的範圍是多少?

9樓:丫丫的蘿莉控

c 由補碼定義可知,當數字大於等於0時,補碼正數表示為0≤x≤2∧(n-1)-1,這道題中n=8,所以正數部分是0≤x≤127 補碼負數表示 -(2∧(n-1)-1)≤x<0 n=8 帶進去得到 -127 ≤x<0 所以得到 -127 ≤x≤127

用8位2進位制補碼錶示帶符號的十進位制整數的範圍是

10樓:匿名使用者

用8位2進位制補碼錶示帶符號的十進位制整數的範圍是-128到127。

8位2進位制帶符號的數,一共可以表示2^8(256)個數,第一位為符號位,由於符號位0代表正數,1代表負數,所以最小的數為10000000(-128),最大的數為01111111(127)。

這裡解釋一下,最小數為什麼不是11111111,由於規定0的補碼唯一,是00000000,所以8位二進位制數可以表示256個數(並非正0和負0一樣所得出的255個),也就是說10000000表示的不是0,而是-128,它也就是最小的數而並非11111111(-127)。

擴充套件資料

原碼:在數值前直接加符號位的表示方法。

反碼:正數的反碼與原碼相同。負數的反碼,符號位為「1」,數值部分按位取反。例如原碼1110的反碼為1001。

補碼:正數的補碼和原碼相同。負數的補碼則是符號位為「1」,數值部分按位取反後再在末位加1。也就是反碼加1。例如原碼1110的補碼為1010。

帶符號的8位二進位制整數,若採用原碼錶示,其數值範圍求詳解要不看不懂啊

原碼通常一般用8位二進位制數表示帶符號的真值 我們生活中用的數,即非機器數 好像是因為早期線路都是每次輸送1位元組 但在宣告的情況下原 反 補 移碼都有其他位數的情況數值定義 真值0 10000000 範圍 x表示真值,x 表示帶符號的真值,x 原表示其原碼 反 補 移碼類同 n表示真值的整數位數 ...

二進位制用於什麼,什麼是二進位制

什麼是二進位制 二進位制是計算技術中廣泛採用的一種數制。二進位制數字是用0和1兩個數碼來表示的數。它的基數為2,進位規則是 逢二進一 借位規則是 借一當二 由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位制系統。20世紀被稱作第三次科技革命的重要標誌之一的計算機的發明與應用,其運...

8位二進位制原碼補碼反碼的表示範圍各是多少怎麼算的

8位二進位制原碼的表示範圍 127 1278位二進位制反碼的表示範圍 127 1278位二進位制補碼的表示範圍 128 127n位二進位制原碼和n位二進位制反碼 2 n 1 1 2 n 1 1 n位二進位制補碼 2 n 1 2 n 1 1。為什麼規定範圍 128到127?而不是規定其他範圍?因為8位...