我(有点)熟悉一个补充,但我可以使用关于Python 2.7的复习。
为什么~0b1
会打印到-2
?
据我所知,一个补码将1s转换为0,反之亦然。我希望~0b1
能够打印0b0
或0
。
print
会自动将字节文字转换为某种形式的int
吗?
感谢任何帮助。
答案 0 :(得分:1)
0b1
只是编写0b0000...01
(整数1)的另一种方式。使用~
,您将获得逐位补充1 -> 0
和0 -> 1
(包括符号位),以便获得:
0b111....10
是-2
。