2011-04-25 58 views
0

1.000(base2)x 2^-1 +( - 0.111(base2)x 2^-1)= .001(base2)x 2^-1? 要添加二進制數字,你不只是添加?我不知道如何加法工作..Binary Floating Point Addition

+0

第二個數字是負數,所以它真的是減法。 – 2011-04-25 20:44:14

回答

2

我不確定你的意思,當你問「你不只是添加?」,但數學是正確的。它基本上是基於2的科學記數法。

1.000(base2) x 2^-1 = 0.100(base2) 
-0.111(base2) x 2^-1 = -0.0111(base2) 

0.100 + (-0.0111) = 0.0001 

0.0001 = 0.001(base2) x 2^-1 
1

事情與浮點數很複雜。我們從整數開始。

要將正數轉換爲負數,請反轉所有位並添加一個。這被稱爲「二補」算法。如果我們使用8位數字作爲示例,則-0111變成11111001

現在當你加起來的號碼,00001000+11111001=100000001。最高位的溢出被丟棄,留給你00000001