Как перевести число из десятичной системы в любую другую на Питоне? 🔄🔢
Чтобы перевести число из десятичной системы счисления в любую другую на Python, вы можете использовать встроенную функцию int
с указанием базы новой системы счисления.
decimal_num = 42
binary_num = int(decimal_num, 2) # перевод числа в двоичную систему
hex_num = int(decimal_num, 16) # перевод числа в шестнадцатеричную систему
octal_num = int(decimal_num, 8) # перевод числа в восьмеричную систему
В данном примере числу 42 присваивается значение в десятичной системе и затем преобразуется в двоичное, шестнадцатеричное и восьмеричное. Пример вывода:
print(binary_num) # выводит 101010
print(hex_num) # выводит 2a
print(octal_num) # выводит 52
Детальный ответ
Как перевести число из десятичной системы в любую другую на питоне?
При работе с числами на компьютере мы часто сталкиваемся с необходимостью перевести число из одной системы счисления в другую. Например, перевести число из десятичной системы в двоичную, восьмеричную или шестнадцатеричную. В этой статье мы рассмотрим, как это сделать на языке программирования Python.
Перевод числа из десятичной системы
Для начала, давайте разберемся, как перевести число из десятичной системы в любую другую. Для этого мы будем использовать функцию divmod(), которая возвращает частное и остаток от деления двух чисел. Наш алгоритм будет следующим:
def decimal_to_base(n, base):
if n == 0:
return '0'
digits = []
while n:
n, remainder = divmod(n, base)
if remainder < 10:
digits.append(str(remainder))
else:
digits.append(chr(remainder + 55))
return ''.join(digits[::-1])
В функции decimal_to_base()
мы сначала проверяем, равно ли число n
нулю. Если да, то возвращаем строку '0'. Затем мы создаем пустой список digits
, в который будут добавляться цифры новой системы счисления. Затем мы используем цикл while
, чтобы последовательно делить число на базу и сохранять остатки от деления в список digits
. Если остаток меньше 10, то мы просто добавляем его в список в виде строки. Если остаток больше 10, то мы преобразуем его в соответствующую букву ASCII и добавляем в список. Наконец, мы объединяем все элементы списка digits
в строку с помощью метода join()
и возвращаем результат.
Примеры перевода числа
Давайте рассмотрим несколько примеров, чтобы лучше понять, как работает функция decimal_to_base()
.
Пример 1:
number = 42
base = 2
result = decimal_to_base(number, base)
print(result) # Вывод: '101010'
В этом примере мы переводим число 42 из десятичной системы в двоичную систему. Результатом будет строка '101010', что соответствует двоичному представлению числа 42.
Пример 2:
number = 1234
base = 16
result = decimal_to_base(number, base)
print(result) # Вывод: '4D2'
В этом примере мы переводим число 1234 из десятичной системы в шестнадцатеричную систему. Результатом будет строка '4D2', что соответствует шестнадцатеричному представлению числа 1234.
Заключение
Теперь вы знаете, как перевести число из десятичной системы в любую другую систему счисления на языке программирования Python. В нашей реализации мы использовали функцию divmod()
и алгоритм последовательного деления на базу с сохранением остатков. Вы можете использовать эту функцию для перевода чисел в различные системы счисления, такие как двоичная, восьмеричная или шестнадцатеричная.