2010-02-15 130 views

回答

2

這將是-8到+7

+0

謝謝你,我有一個大腦放屁,並正在決定是否-9會奏效。 – hodgesmr 2010-02-15 02:02:35

+1

假設2的補碼。 – 2010-02-15 02:44:46

+0

@ C.McQueen - 他*表示* 2的補碼,所以是的,我認爲。 – JustJeff 2010-02-15 22:38:14

1

4位(使用2的補數)會給你一個範圍從-8到7

這應該是簡單的制定自己。

4

範圍是-8到7,或1000〜0111。你可以看到全方位here。在二進制補碼

0

範圍將是:

-1 * 2 ^(位 - 1)

2 ^(位 - 1) - 1

因此,對於4位:

-1 * 2 ^(4 - 1)= - 1 * 2^3 = -8

2 ^(4 - 1) - 1 = 2^3 - 1 = 7

另外,如果你有興趣,併爲他人也許瀏覽了這個問題 - 二進制補碼用於容易二進制算術:

添加 - 你只需要添加兩個數無需轉換和忽略溢出:

-6 + 7 = 1 是

1010 = -6
0111 = 7
------
(1)0001 = 1(忽略溢出)

...和更多尚未 - 到負二進制數轉換成其相對的正數:

如果符號位(最高位)爲1,表示從最低有效位到最高有效位(從右到左)的負數讀數,將每一位保留在第一個「1」之後,然後反轉每一位。

所以,用8位
10011000 ..變得
01101000(* 1)= 104 * -1 = -104

,這就是爲什麼千萬是您的最低負數(或在X位1000.all zeroes..000),將其轉換爲無符號千萬* -1 = -128

也許很長的解釋,但那些沒有1和0的背景我想,這是非常有用的