Преобразование целочисленного в двоичный код в python

Чтобы преобразовать целое число в двоичный код, я использовал этот код:

>>> bin(6) '0b110' 

и когда стереть '0b', я использую это:

 >>> bin(6)[2:] '110' 

Что я могу сделать, если я хочу показать 6 как 00000110 вместо 110 ?

    6 Solutions collect form web for “Преобразование целочисленного в двоичный код в python”

     >>> '{0:08b}'.format(6) '00000110' 

    Просто объясним части строки форматирования:

    • {} помещает переменную в строку
    • 0 принимает переменную в позиции аргумента 0
    • : добавляет параметры форматирования для этой переменной (в противном случае она будет представлять десятичную дробь)
    • 08 форматирует число до восьми цифр с нулевым запасом слева
    • b преобразует число в его двоичное представление

    Еще одна идея:

     >>> bin(6)[2:].zfill(8) '00000110' 

    Немного сплетенный метод …

     >>> bin8 = lambda x : ''.join(reversed( [str((x >> i) & 1) for i in range(8)] ) ) >>> bin8(6) >>> '00000110' 

    Просто используйте функцию формата

     format(6, "08b") 

    Общий вид

     format(<the_integer>, "<0><width_of_string><format_specifier>") 

    .. или если вы не уверены, что он всегда должен быть 8 цифр, вы можете передать его как параметр:

     >>> '%0*d' % (8, int(bin(6)[2:])) '00000110' 

    Ответ на eumiro лучше, однако я просто размещаю это для разнообразия:

     >>> "%08d" % int(bin(6)[2:]) 00000110 
    Python - лучший язык программирования в мире.