所以我在做CS,講師寫了一個新的二進制問題,我不能把頭包裹起來。Two's Complement,減去兩個負數的二進制數
基本上,你如何減去兩個負數如果他們是二進制的?
具體如何使用剛推出的Two's Constant來實現。
例如:-2 - -7 = 5
還是:1110 - 1001
我不明白你如何使用這些位來得到正確的答案,即5.
任何人都可以幫忙嗎?
所以我在做CS,講師寫了一個新的二進制問題,我不能把頭包裹起來。Two's Complement,減去兩個負數的二進制數
基本上,你如何減去兩個負數如果他們是二進制的?
具體如何使用剛推出的Two's Constant來實現。
例如:-2 - -7 = 5
還是:1110 - 1001
我不明白你如何使用這些位來得到正確的答案,即5.
任何人都可以幫忙嗎?
如果你有
1110 -2
- 1001 -7
------
0101 5
,這是一樣的
1110 -2
+ 0111 7
------
0101 5
謝謝!所以,答案是10101 - 那麼因爲溢出,你擺脫了最左邊的數字,使它成爲0101,即5? – alexjackhughes
@alexjackhughes是的,如果您使用4位或8位或32位值,則不會因爲執行計算而獲得額外的位。 (從技術上講,CPU確實將這一點保留在標誌中,但Java忽略它們) –
你經常做減法以同樣的方式?或者當你溢出最左邊的位時,你在問規則嗎? –
嗨凱文,我真的不明白怎麼樣?如果我切換第二學期並添加它們,即使在溢出之後,我仍留有數字1。你介意給我看一個例子嗎? – alexjackhughes
潛在地嘗試在這裏? http://cs.stackexchange.com/ – dahui