Перевод из десятичной системы счисления в двоичную

Заметим, что в языке Python есть встроенная функция bin(), которая переводит десятичное число в двоичную систему счисления.

>>> bin(5)
'0b101'
>>> bin(10)
'0b1010'

Здесь же рассматривается алгоритм такого перевода и его реализация на Python.

Обычно десятичное число преобразуют к двоичному представлению путем нахождения остатков от деления на 2. При этом полученное на предыдущем шаге частное выступает в качестве делимого на следующем шаге. Деление заканчивается, когда делимое обращается в ноль. Остатки собираются в двоичное число начиная с конца, то есть последний остаток будет первой цифрой двоичного числа. Например, надо перевести число 8 в двоичную систему:

При реализации данного алгоритма с помощью языка программирования надо организовать хранение остатков. Сделать это можно в переменной строкового типа или в списке. В случае строки каждый новый остаток следует добавлять в начало.

n = int(input())
 
b = ''
 
while n > 0:
    b = str(n % 2) + b
    n = n // 2
 
print(b)

Пример выполнения:

8
1000

Решение задач на Python