2013-03-17 1029 views

回答

21

隨着十進制數系統中,每個編號位置(或列)表示(從右到左讀取的數字):單元(它是10^0), (即10^1),數百(即10^2)等等。

無符號二進制數,基數爲2,因此每個位置變成(再次從右向左讀取):1(即2^0),2(即2^1),4(即,2^2)等

例如

2^2 (4), 2^1 (2), 2^0 (1). 

在有符號二進制補碼中,最高有效位(MSB)變爲負數。因此它代表數字符號:'1'表示負數,'0'表示正數。

用於3位數字的行將持有這些值:

-4, 2, 1 
0 0 1 => 1 
1 0 0 => -4 
1 0 1 => -4 + 1 = -3 

通過定點保持的位的值(分數)系統是不變。列值遵循相同的模式和以前一樣,基座(2)到電源,但與功率變成負值:

2^2 (4), 2^1 (2), 2^0 (1) . 2^-1 (0.5), 2^-2 (0.25), 2^-3 (0.125) 

-1永遠是111.000
-0.5添加0.5到它:111.100

在你的情況下,110100.10等於-32 + 16 + 4 + 0.5 = -11.5。你所做的是創建-12然後加0.5而不是減0.5。

你真正想要的是-32 + 16 + 2 + 1 + 0.5 = -12.5 = 110011.1

3

您可以一次又一次地將數字加倍,直到它爲負整數或達到定義的限制,然後相應地設置小數點。

-25是11100111,所以-12.5是1110011.1

1

左右;ü要代表-12.5 2的補碼錶示

12.5: - > > 01100.1

2的的(01100.1)補體: - >> 10011.1

通過檢查2的補碼代表的加權代碼屬性驗證ANS反對(MSB權重是-ve)。我們會得到-16 + 3 + .5 = -12.5