Программа 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) её нужно расширять отдельно.