【发布时间】:2014-03-19 20:02:34
【问题描述】:
在 Python 控制台中:
~True
给我:
-2
为什么?有人可以用二进制向我解释这个特殊情况吗?
【问题讨论】:
-
因为
~1是-2,请尝试:True == 1 -
确切地说:“
True is 1”不是真的,True == 1是真的。 -
你真的认为看到
UNARY_INVERT(整个字节码)会增加答案吗? -
这个问题不是重复的!它询问
bool的特定行为。这与~的工作方式无关。事实上,对这个问题的有效回答可以避免提及 2 的补码以及~如何对整数进行操作。
标签: python data-conversion tilde