-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