Python: перевод числа из десятичной системы счисления в любую другую

0
18

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

  1. Для перевода в 2-ю систему используйте bin().
  2. Для перевода в 8-ю систему используйте oct().
  3. Для перевода в 16-ю систему используйте hex().
  4. Для перевода из любой системы в 10-ю используйте int(‘строка’, основание).
  5. Для произвольных систем реализуйте алгоритм деления на основание.
  6. Помните, что результат bin(), oct(), hex() — строка с префиксом.
  7. Для удаления префикса используйте срез [2:].
  8. Для перевода дробных чисел используйте отдельный алгоритм для целой и дробной части.
  9. Тестируйте код на граничных значениях (0, отрицательные числа).
  10. Используйте встроенную документацию Python (help()) для уточнения деталей.

Функция (int)

Перевод десятичного числа в любую систему счисления - изображение номер один
Перевод десятичного числа в любую систему счисления — изображение номер один

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

>>> int (3.65)3>>> int (-9.123)— 9>>> int («3456»)3456

Эта функция очень сильно пригодится тебе на экзамене, потому что с помощью нее ты сможешь перевести число из указанной системы счисления в десятичную.

Просто введи int(str, base)str — передает число в виде строки, base — основание СС.

  • аргумент base может быть целым числом в диапазоне от 2 до 36;
  • в обратную сторону перевод не работает.
ЧИТАТЬ ТАКЖЕ:  Конвертация кортежа в список в Python: все способы и методы

Использование питона поможет сэкономить время и избежать ошибок, потому что так тебе не придется переводить числа через разряды: нужно просто ввести информацию в компьютер, а программа все сделает сама.

Но это еще не все! Теперь из десятичной ты можешь перевести число в другие системы счисления. Читай дальше, чтобы узнать как.

Перевод числа из 10СС в NCC

Напишем программу для перевода чисел из десятичной системы счисления в СС с любым основанием.

Указываем СС, в которую исходное число нам нужно перевести (от двоичной системы до шестнадцатеричной)

Находим остаток от деления исходного числа на основание системы счисления.

Этот остаток и будет следующей цифрой в новом числе (в выбранной системе счисления).

Делим без остатка исходное число. Это обновленное число будет использовано в следующей итерации цикла.

Теперь ты знаешь, как пользоваться возможностями Python для перевода чисел в разные СС. А если хочешь получить больше полезных материалов для самостоятельной подготовки к ЕГЭ по информатике, читай другие наши статьи:

  • Методы ручного перевода из 10СС в любую другую и обратно;
  • Особенности двоичной системы счисления;

Часто задаваемые вопросы о переводе чисел в Python

Вопрос: Как перевести число из десятичной системы в двоичную в Python?
Ответ: Используйте встроенную функцию bin().

ЧИТАТЬ ТАКЖЕ:  Реализация генетического алгоритма на Python: OneMax и поиск глобальных экстремумов

Вопрос: Как перевести число из десятичной системы в восьмеричную?
Ответ: Используйте встроенную функцию oct().

Вопрос: Как перевести число из десятичной системы в шестнадцатеричную?
Ответ: Используйте встроенную функцию hex().

Вопрос: Можно ли перевести число в систему счисления с основанием от 2 до 36?
Ответ: Да, для этого можно написать собственную функцию или использовать сторонние библиотеки.

Вопрос: Как работает функция int() для перевода из других систем?
Ответ: Функция int() принимает строку и основание системы счисления, например int(‘101’, 2) вернет 5.

Вопрос: Как перевести число из 10-й системы в 3-ю?
Ответ: В Python нет встроенной функции для этого, нужно реализовать алгоритм деления на основание.

Вопрос: Какой алгоритм используется для перевода в любую систему счисления?
Ответ: Алгоритм последовательного деления числа на основание новой системы с записью остатков.

Вопрос: Как перевести дробное число из десятичной системы?
Ответ: Дробная часть переводится умножением на основание, целые части собираются в результат.

Вопрос: Есть ли готовые функции для перевода в системы с основанием больше 16?
Ответ: В стандартной библиотеке Python таких функций нет, но их легко написать самостоятельно.

Вопрос: Как проверить правильность перевода числа?
Ответ: Выполните обратный перевод с помощью int() и сравните с исходным числом.