Python中的二进制文件

时间:2014-04-05 22:09:19

标签: python binary

当我编写Python时运行以下代码:

m = 010001110110100101110110011001010010000001101101011001010010000001100001011011100010000001000001

print "m = ", m

我收到了输出:

m = 7772840013437408857694157721741838884340237826753178459792706472536593002623651807233

发生了什么事? Python会自动从基数2转换为基数10吗?

2 个答案:

答案 0 :(得分:2)

您使用m开始0。 Python认为它是八进制(参见this

您所看到的是八进制数的十进制表示。

如果您希望将其作为二进制数字使用,我建议将其设置为str,然后将其解析为int,指定您在基础中解析某些内容2:

>>> m='0100011'
>>> int(m, 2)
35

答案 1 :(得分:0)

有点,它将以0开头的数字解释为八进制,所以它实际上不是二进制的。

在任何情况下,您都可以将整数输出为二进制,如下所示:

print "m = ", "{0:b}".format(m)