【发布时间】:2017-10-18 16:58:58
【问题描述】:
我(有点)熟悉一个人的补码,但我可以对 Python 2.7 进行复习。
为什么~0b1 会打印到-2?
我知道一个补码将 1 转换为 0,反之亦然。我希望~0b1 打印0b0 或0。
print 是否会自动将字节文字转换为某种形式的 int?
感谢任何帮助。
【问题讨论】:
-
这不是 字节文字。这是另一种类型的
int文字,可以让您以二进制形式表达您的int。所以没有转换,因为它始终是int。 -
@juanpa.arrivillaga 感谢您的评论。这有点解释。
-
因此,换句话说,
0b10000、0x10和16都是同一个int对象的文字。默认情况下,当int打印到屏幕上时,会打印它的十进制表示。
标签: python python-2.7 binary byte ones-complement