将“0”添加到二进制

时间:2012-04-24 23:44:30

标签: python binary

如何在现有二进制类型的左侧添加“0”值?

使用以下方法获取二进制类型:

 binary=bin(int(symbol))

其中symbol是一个int。

有没有办法做到这一点?

我希望结果是一个字符串。

2 个答案:

答案 0 :(得分:7)

没有二进制类型,bin()的结果是字符串。以下是如何在字符串末尾添加额外的零:

>>> bin(11)
'0b1011'
>>> bin(11) + '0000'
'0b10110000'

因为听起来你想要在左侧添加零,所以我假设你这样做是为了使得结果字符串的长度相同,而不管symbol的值。

执行此操作的一个好方法是使用str.format()而不是bin()函数,此处是结果字符串中始终有八位数字和0b前缀的示例仍然存在就像你曾使用过bin()

>>> '0b{0:0>8b}'.format(3)
'0b00000011'
>>> '0b{0:0>8b}'.format(11)
'0b00001011'

答案 1 :(得分:0)

不完全确定你想要什么,将'0'添加到where。

print bin(1<<8)
print bin(1).zfill(8).replace("b", "")

希望有所帮助。 〜奔