so is representation of -128 10000000 or 110000000?代表位是否依賴?
是,2的補碼錶示爲比特依賴
爲什麼不能簡單地使較低的範圍內,而不是寫-128作爲千萬
2^8 = 256 -127 FOT 8位。因此,無論您使用何種表示方式,它都應該能夠表示256個不同的值。
你可以畫一個圓圈來理解2補碼系統有多好。
首先看一下這個表:
Bits Unsigned 2's complement
00000000 0 0
00000001 1 1
00000010 2 2
01111110 126 126
01111111 127 127
10000000 128 −128
10000001 129 −127
10000010 130 −126
11111110 254 −2
11111111 255 −1
2的補體系統可以畫出圓圈理解這個系統。
這裏是4位版本。您可以輕鬆開發自己的8位版本。這個圓圈表示這個2的補碼系統實際上是什麼。它是一個循環系統。這意味着它的表示取決於你給它的「跨度」。這就是爲什麼8位版本的負數將與16位版本的相同負數不同。您可以將圓圈中給出的4位版本中的相同負數與表中給出的8位版本進行比較。
0000 0
1111 -1 0001 1
1110 -2 0010 2
1101 -3 0011 3
1100 -4 0100 4
1011 -5 0101 5
1010 -6 0110 6
1001 -7 0111 7
1000 -8
在附註中,2的補碼運算在計算機(寄存器,存儲器等)中的「固定」寬度計算存儲器中起到很好的作用。
在第一代計算機中,有提供原生十進制算術的趨勢。但是這很快就被拋棄,轉而採用「補充」或「循環」方案,因爲從計算機的角度來看,十進制算術是離奇的。我們發現它很自然,因爲「我們有10個手指」。這些手指是我們的祖先最早的計算工具。這就是爲什麼我們發現十進制系統如此自然。它嵌入到我們的基因中。
當我開始寫我的答案,你的答案是一個班輪。現在我看到它大部分已經廢棄了我的答案。你總是這樣做嗎?我的意思是回答一個班輪來搶先響應者的地方,然後逐漸改進?看看你的REP,我想你很擅長這種技術。 +1 – Aftnix 2012-07-11 13:59:18
@Annix:這本來是一個單行的,因爲我認爲這就是所有需要的問題。然後有人低估了它,所以我認爲我應該改進它! – 2012-07-11 14:00:13
對不起,我的意思是沒有進攻。 – Aftnix 2012-07-11 14:02:50