在 Obfuscated C Code Contest 2006. Please explain sykes2.c ,
有一个语句“-~i == i+1
因为二进制补码”。
有人能解释一下为什么会出现这种情况吗?
最佳答案
-~x
等于 x+1
,因为 ~x
等于 (0xffffffff-x)
。这等于 2 补码的 (-1-x)
,因此 -~x
是 -(-1-x) = x+1
>.
关于c - 为什么-~x等于x+1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15512713/