这个问题在这里已有答案:
我正在阅读“第13章:运算符重载:正确行事”, 它声明了一元运算符
~ (__invert__) Bitwise inverse of an integer, defined as ~x == -(x+1). If x is 2 then ~x == -3.
我在这里很困惑。怎么可能,如果x
是2然后~x == -3
?
你能提供一些提示吗?
十进制值2的二进制表示为0010.按位反转意味着将全0变为1并将所有1变为0,从而得到1101.读入二进制补码以找出为什么这表示十进制值为-3。