Программа Python для перевода десятичного числа в двоичное через рекурсию

Десятичное число переводится в двоичное последовательным делением на 2 с выводом остатков в обратном порядке.

Что нужно знать

Для понимания примера полезны темы:

Пример

# Функция для вывода двоичного представления через рекурсию
def convertToBinary(n):
   if n > 1:
       convertToBinary(n//2)
   print(n % 2,end = '')

# десятичное число
dec = 34

convertToBinary(dec)
print()

Вывод

100010

Чтобы проверить программу на других значениях, поменяйте переменную dec и запустите снова.

Как это работает

Рекурсивная функция convertToBinary() делит число n на 2 и снова вызывает себя для частного, пока n не станет меньше или равно 1. На каждом возврате из рекурсии печатается остаток n % 2. За счёт того, что вывод остатков происходит после рекурсивного вызова, биты печатаются от старшего к младшему — это и даёт правильное двоичное представление.

Примечание

Программа работает только для целых чисел. Для дробных значений (например, 25.5 или 45.64) её нужно расширять отдельно.