我正在阅读“第13章:操作员重载:正确执行”,
它指出一元运算符
~ (__invert__) Bitwise inverse of an integer, defined as ~x == -(x+1). If x is 2 then ~x == -3.
我在这里很困惑。如果x
为2,那么~x == -3
怎么可能?
请提供任何提示吗?
答案 0 :(得分:1)
十进制值2的二进制表示形式是0010。 按位求反意味着将所有0都变为1s,并将所有1s都变为0s,结果为1101。 仔细阅读“二进制补码”,以找出为什么它表示十进制值-3。