一元运算符“如果x为2,则〜x == -3”

时间:2018-09-19 10:14:59

标签: python python-3.x

我正在阅读“第13章:操作员重载:正确执行”,
它指出一元运算符

~ (__invert__) Bitwise inverse of an integer, defined as ~x == -(x+1). If x is 2 then ~x == -3.

我在这里很困惑。如果x为2,那么~x == -3怎么可能?

请提供任何提示吗?

1 个答案:

答案 0 :(得分:1)

十进制值2的二进制表示形式是0010。 按位求反意味着将所有0都变为1s,并将所有1s都变为0s,结果为1101。 仔细阅读“二进制补码”,以找出为什么它表示十进制值-3。