-3

2006 年混淆 C 代码竞赛中。请解释 sykes2.c

有一个声明“-~i == i+1因为二进制补码”。

有人可以解释为什么会这样吗?

4

1 回答 1

4

-~x等于x+1因为~x等于(0xffffffff-x)。这等于(-1-x)2s 补码,-~x所以-(-1-x) = x+1.

于 2013-03-19T23:54:43.620 回答