Вы можете выполнить сдвиг битов перед преобразованием в двоичную, поскольку сдвиг битов не имеет значения для основы вашего целого числа (сдвиг битов по определению выполняется в основании 2).
i = 6 << 12
answer = bin(i)[2:]
Редактировать : Альтернативное двоичное преобразование из @ guidot
i = 6 << 12
answer = "{:b}".format(i)
Дополнительные преобразования
Просто для удовольствия, вот некоторые другие способыбитовое смещение числа:
i = 6 * (2**12) # This will convert into 6 * 2^12
answer = "{:b}".format(i)
битовое смещение удвоит числовое значение, поэтому, умножив битовое смещение на две степени, мы получим одно и то же:
> print(6 << 12)
24576
> print(6 * 2**12)
24576
Как правило, лучшеиспользовать битовое смещение, если вы знаете, что хотите удвоить значение.
Вы также можете преобразовать его в двоичное, а затем добавить 13 конечных нулей, что является простым способом достижения той же функциональности:
i = 6 # Notice: No operation here this time
answer = "{:b}".format(i) + ('0' * 12)
Возможно, не рекомендуется использовать последний метод, но он иллюстрирует, как работает сдвиг битов влево.