如何将'0'值的数量添加到现有二进制类型的左侧?向二进制添加'0'
IM通过使用以下获得的二进制类型:
binary=bin(int(symbol))
其中symbol
是int。
有没有办法做到这一点?
我想结果是一个字符串。
如何将'0'值的数量添加到现有二进制类型的左侧?向二进制添加'0'
IM通过使用以下获得的二进制类型:
binary=bin(int(symbol))
其中symbol
是int。
有没有办法做到这一点?
我想结果是一个字符串。
没有二进制类型,结果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'
我希望它在左侧,但我想它的obvios如何做到这一点 – Itzik984 2012-04-24 23:50:20
不完全确定你想要什么,在其中加'0'。
print bin(1<<8)
print bin(1).zfill(8).replace("b", "")
希望有所帮助。 〜本
你想结果号码是二进制类型? – 2012-04-24 23:51:11
不,我希望它是一个字符串 – Itzik984 2012-04-24 23:51:31
然后只使用连接,因为bin()返回一个字符串对象。 – 2012-04-24 23:52:55