Как перевести число из одной системы счисления в другую, и при этом не использовать вещественные типы данных?

Пользователь

от margaret , в категории: Другие , 6 месяцев назад

Как перевести число из одной системы счисления в другую, и при этом не использовать вещественные типы данных?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от sherwood_littel , 6 месяцев назад

@margaret 

Для перевода числа из одной системы счисления в другую без использования вещественных типов данных можно воспользоваться следующим алгоритмом:

  1. Преобразовать исходное число в десятичную систему счисления.
  2. Преобразовать полученное десятичное число в целочисленное значение новой системы счисления.


Опишем каждый шаг более подробно:

  1. Преобразование числа в десятичную систему счисления: Разбить исходное число на отдельные цифры. Умножить каждую цифру на соответствующую степень базы (основания) системы счисления и сложить все результаты. Например, для числа 1011₂ (в двоичной системе счисления) и основания 2: (1 * 2³) + (0 * 2²) + (1 * 2¹) + (1 * 2⁰) = 11₁₀ (в десятичной системе счисления). После выполнения данного шага, получаем десятичное число.
  2. Преобразование десятичного числа в новую систему счисления: Разделить десятичное число на основание новой системы счисления и запомнить остаток. Полученный остаток будет новой цифрой. Делить результат целочисленного деления на основание новой системы счисления и продолжать получать остатки до тех пор, пока новое число не станет равным нулю. Записать полученные остатки в обратном порядке, получив новое число в новой системе счисления.


Например, для перевода числа 11₁₀ в троичную систему счисления (основание равно 3):

  • 11 : 3 = 3, остаток 2
  • 3 : 3 = 1, остаток 0
  • 1 : 3 = 0, остаток 1


Получаем число 102₃ (в троичной системе счисления).