关于C#:为什么–~x等于x + 1?

Why does -~x equal x+1?

在模糊的C代码竞赛2006年。请解释一下sykes2.c,

有句话是"-~i == i+1因为有两个补码"。

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


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