2016-12-12 86 views
0

我讀(here)和驗證(與計算機)-~x等於x+1~-x等於x-1所以我試圖寫下來,看看發生了什麼,但我做錯了什麼。- x和〜-x如何工作?

讓我們x=4

0100 // 4 in binary, leading 0 for the sign 
1100 // the inverse of the addition 
0011 // ~ complement 

0011=3這是根據規則~-x === x-1

-~x我得到相同的:

0100 // 4 in binary 
1011 // ~ complement 
0011 // the inverse 

我在哪裏去了?我是愚蠢的嗎?

回答

0

好的問題是我的代表負數。我必須使用Two's complement操作,然後返回正確的結果。所以-~x會像:

0100 // 4 (we assume a 4 bit number without taking sign into account) 
1011 // complement which is 11 

現在使用二進制補碼:

N位數字的二進制補碼被定義爲補充 相對於2N;換句話說,它是從2N中減去 的結果。

在這種情況下N=42^N = 16,最後當我們從16減去11,我們得到5分x+1。我們發現-~x === x+1

相關問題