为什么 ~2 等于 -3?~ 运算符如何工作?
要理解为什么按位补码~2等于-3,关键是要理解按位补码运算在基于二进制补码系统的 Python 整数表示环境中是如何工作的。
~2
-3
在二进制补码系统中,负数的表示方式允许进行简单的算术运算。其工作原理如下:
让我们分解一下按位补码运算2:
2
00000010
11111101
00000011
3
按位补码运算符~将数字的每一位翻转。对于给定的整数x,~x相当于-(x + 1)。
~
x
~x
-(x + 1)
为了2:
二进制2(8 位):00000010
反转位:11111101
解释
为负数:
此操作在低级编程和位操作任务中经常使用。