-2
在Obfuscated C Code Contest 2006. Please explain sykes2.c,爲什麼 - 〜x等於x + 1?
有一個聲明「-~i == i+1
因爲二補」。
有人可以解釋爲什麼會出現這種情況嗎?
在Obfuscated C Code Contest 2006. Please explain sykes2.c,爲什麼 - 〜x等於x + 1?
有一個聲明「-~i == i+1
因爲二補」。
有人可以解釋爲什麼會出現這種情況嗎?
-~x
等於x+1
,因爲~x
相當於(0xffffffff-x)
。這等於(-1-x)
的二進制補碼,所以-~x
是-(-1-x) = x+1
。
您是否閱讀過[維基百科有關two's-complement的文章](http://en.wikipedia.org/wiki/2%27s_complement)? – 2013-03-19 23:51:45
對不起,我試圖回答這個問題。我試圖給另一個問題添加一個答案,但他們說這不是一個答案。 – 2013-03-19 23:56:08