为什么 ~0b1 在 Python 2.7 中打印出 -2?
Why does ~0b1 print out -2 in Python 2.7?
我(有点)熟悉某人的补语,但我可以复习一下 Python 2.7.
为什么 ~0b1
打印到 -2
?
我了解一个补码将 1 转换为 0,反之亦然。我希望 ~0b1
打印 0b0
或 0
.
print
会自动将字节文字转换为某种形式的 int
吗?
感谢任何帮助。
0b1
只是 0b0000...01
(整数 1)的另一种写法。使用 ~
你会得到按位补码 1 -> 0
和 0 -> 1
(包括符号位)所以你会得到:
0b111....10
即-2
.
我(有点)熟悉某人的补语,但我可以复习一下 Python 2.7.
为什么 ~0b1
打印到 -2
?
我了解一个补码将 1 转换为 0,反之亦然。我希望 ~0b1
打印 0b0
或 0
.
print
会自动将字节文字转换为某种形式的 int
吗?
感谢任何帮助。
0b1
只是 0b0000...01
(整数 1)的另一种写法。使用 ~
你会得到按位补码 1 -> 0
和 0 -> 1
(包括符号位)所以你会得到:
0b111....10
即-2
.