所以我想代表號碼-12.5
。因此,12.5等於:如何用2的補數表示一個小數的負數?
001100.100
如果我沒有計算分數,然後它的簡單,-12
是:
110100
但什麼是-12.5?是110100.100
?我如何計算這個負數分數?
所以我想代表號碼-12.5
。因此,12.5等於:如何用2的補數表示一個小數的負數?
001100.100
如果我沒有計算分數,然後它的簡單,-12
是:
110100
但什麼是-12.5?是110100.100
?我如何計算這個負數分數?
隨着十進制數系統中,每個編號位置(或列)表示(從右到左讀取的數字):單元(它是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
您可以一次又一次地將數字加倍,直到它爲負整數或達到定義的限制,然後相應地設置小數點。
-25是11100111,所以-12.5是1110011.1
左右;ü要代表-12.5 2的補碼錶示
12.5: - > > 01100.1
2的的(01100.1)補體: - >> 10011.1
通過檢查2的補碼代表的加權代碼屬性驗證ANS反對(MSB權重是-ve)。我們會得到-16 + 3 + .5 = -12.5