小编Sol*_*Dia的帖子

解释为什么 x == ~(~x + 1) + 1 (二进制补码和返回!)

众所周知,内存中的负数通常表示为二进制补码

from x to ~x + 1
Run Code Online (Sandbox Code Playgroud)

为了回来,我们不会做明显的事情,比如

~([~x + 1] - 1)
Run Code Online (Sandbox Code Playgroud)

但我们这样做

~[~x + 1] + 1
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么它总是有效吗?我想我可以用 1 位、2 位、3 位数字来证明它,然后使用数学归纳法,但这并不能帮助我理解它究竟是如何工作的。

谢谢!

binary proof twos-complement

5
推荐指数
1
解决办法
571
查看次数

标签 统计

binary ×1

proof ×1

twos-complement ×1