我(有点)熟悉一个人的补语,但是我可以对Python 2.7进行复习。
为什么~0b1
打印到-2
?
我知道,一个补码会将1转换为0,反之亦然。我希望~0b1
打印0b0
或0
。print
是否自动将字节文字转换为某种形式的int
?
任何帮助表示赞赏。
最佳答案
0b1
只是编写0b0000...01
(整数1)的另一种方式。使用~
,您将获得按位补码1 -> 0
和0 -> 1
(包括符号位),从而得到:
0b111....10
这是
-2
。关于python - 为什么在Python 2.7中〜0b1输出-2?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44055202/