我对 ~
运算符有点困惑。代码如下:
a = 1
~a #-2
b = 15
~b #-16
~
是如何工作的?
我想,~a
会是这样的:
0001 = a
1110 = ~a
为什么不呢?
最佳答案
你说得完全正确。这是 two's complement 的神器整数表示。
在 16 位中,1 表示为 0000 0000 0000 0001
。反转后,您将得到 1111 1111 1111 1110
,即 -2。同样,15 是 0000 0000 0000 1111
。反转后,您将得到 1111 1111 1111 0000
,即 -16。
一般来说,~n = -n - 1
关于python - 按位运算一元 ~(反转),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56094532/