如何將'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