2012-11-22 27 views
1

所以我正在練習我的二進制減法。這是一個很長一段時間,因爲我的第一次考試,我決定創建自己的棘手二進制減法,我想出了這樣一個:棘手的二進制減法

1100 
-1101 

當然的「借招」並沒有對這個問題,至少我的工作無法讓它工作。我唯一的選擇是翻轉第二個二進制數(最下面的那個)的位,然後添加一個基本上做2的補碼,所以1101變成0011.然後用二進制補碼錶示(0011)加上主二進制數(1100),其中意味着它應該是這樣的:

1100 (-4) assume 2's complement 
+ 0011 (3) assume 2's complement 

sum:1111 (-1) assume 2's complement 

我只是需要自以來我做二進制減法很長一段時間這個問題的確認。

+1

是 - 看起來正確的是4位2s補碼 –

+0

感謝Paul!一個超級快速的反饋!甜!道具! =] – Nicholas

+1

你可能會在http://math.stackexchange.com找到更多回復 – Kev

回答

3
1100 
-1101 

0 - 1 = 1(借1)

1100 
-1101 
    1 
===== 
    1 

0 - 0 - 1 = 1(借1)

1100 
-1101 
    11 
===== 
    11 

1 - 1 - 1 = 1(借1)

1100 
-1101 
111 
===== 
    111 

1 - 1 - 1 = 1(二orrow 1)

1100 
-1101 
1111 
===== 
1111 

結果是1111,有1個借來的。就無符號算術而言,這意味着結果下溢或者您需要從下一個有效數字借用。 (就符號算術而言,沒有溢出,因爲您也借用了第二位,並且計算對應於-4 - -3 = -1。)

+0

很好的解釋尼爾! =] – Nicholas