-1

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

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

 binary=bin(int(symbol))

symbolint在哪里。

有什么办法吗?

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

4

2 回答 2

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'
于 2012-04-24T23:48:26.470 回答
0

不完全确定您想要什么,在哪里添加“0”。

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

希望有帮助。〜本

于 2012-04-24T23:53:49.587 回答