2011-10-07 310 views
2

我期待將十進制數字轉換爲6位二進制數字。bin()工作正常,但省略了重要的前導零。將十進制數字轉換爲6位二進制數字

例如:

  • 0 = 000000
  • 1 = 000001
  • 2 = 000010

等...具有最大數目癸允許爲63.

+5

只要使用'斌()'和[左墊的結果(http://stackoverflow.com/questions/339007/python-nicest-way-to-pad -zeroes到字符串)。 –

回答

8

Matt在評論(bin(63)[2:].zfill(6))中所說的內容,或者在Python 2.6+中使用format strings

'{0:06b}'.format(63) 

您可以省略Python 2.7+中的第一個零,因爲您可以隱式編號組。

+0

謝謝,這很好 – Richard

0

或者只是:

n2=[2**x for x in xrange(0, 7)] 
n2.reverse() 

def getx(x): 
    ret = '' 
    for z in n2: 
     if x >= z: 
      x -= z 
      ret += '1' 
     else: 
      ret += '0' 

    return ret 
相關問題