Перевод чисел из P-ичной системы счисления в десятичную

Перевод целых P-ичных чисел

Пусть дано некоторое число в P-ичной системе счисления a = anan - 1… a1a0. Необходимо получить запись этого числа в десятичной системе счисления.

Для решения поставленной задачи воспользуемся развернутой формой записи числа:
a = an • P n + an-1 • P n-1 +…+ a2 • P 2 + a1 • P + a0 (1)

Теперь получим значение многочлена (1) в десятичной системе счисления. Для этого число P и коэффициенты при степенях P запишем в виде десятичных чисел и проведем вычисления в десятичной системе счисления.

Сформулируем эти положения в виде алгоритма.

Алгоритм перевода целых чисел из P-ичной системы счисления в десятичную

  1. Пронумеровать цифры P-ичного числа, начиная с нуля, справа налево.
  2. Представить число в P-ичной системе счисления в развернутой форме: каждая Р-ичная цифра умножается на Pk, где k – номер этого числа согласно пункта 2.
  3. Перевести цифры P-ичного числа и само число P в десятичную систему.
  4. Выполнить арифметические операции в десятичной системе счисления.

Пример. Перевести число A12F16 в десятичную систему счисления.

A12F16 = A • 163 + 1 • 162 + 2 • 161 + F • 160 =
= 10 • 163 + 1 • 162 + 1 • 161 + 15 • 160 =
= 12288 + 256 + 32 + 15 = 4126310

Ответ. 41263

При вычислении десятичного числа можно воспользоваться схемой Горнера, которая позволяет найти результат используя только операции сложения и умножения/деления:

A12F16 = ((10 • 16 + 1) • 16 + 2) • 16 + 15 = 4126310