преобразовать десятичное число в 6-битное двоичное число - PullRequest
2 голосов
/ 07 октября 2011

Я хочу преобразовать число dec в 6-битное двоичное число .. bin() работает нормально, но пропускает ведущие нули, которые важны.

например:

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

и т. Д., Причем наибольшее разрешенное число раз - 63.

Ответы [ 2 ]

8 голосов
/ 07 октября 2011

Либо то, что сказал Мэтт в комментарии (bin(63)[2:].zfill(6)), либо используйте строки формата в Python 2.6 +:

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

Вы можете опустить первый ноль в Python 2.7+, поскольку вы можете неявно нумеровать группы.

0 голосов
/ 07 октября 2011

Или просто:

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
...