我(有点)熟悉一个人的补语,但是我可以对Python 2.7进行复习。

为什么~0b1打印到-2

我知道,一个补码会将1转换为0,反之亦然。我希望~0b1打印0b00

print是否自动将字节文字转换为某种形式的int

任何帮助表示赞赏。

最佳答案

0b1只是编写0b0000...01(整数1)的另一种方式。使用~,您将获得按位补码1 -> 00 -> 1(包括符号位),从而得到:

0b111....10


这是-2

关于python - 为什么在Python 2.7中〜0b1输出-2?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44055202/

10-11 02:37