Перевод систем счисления

Перевод систем счисления

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

Перевод систем счисления

Рис. 2. Таблица соответствия десятичных и шестнадцатеричных чисел.

Перевод чисел с участием десятичной системы счисления

В преобразовании чисел с участием десятичной системы приняты три строгих правила перевода.

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

Например, 15 из десятичной системы в восьмеричную переводится так: 15 / 8 = 1 (в остатке 7). Записываем итог, начиная с конечного и в данном случае единственного частного, и затем остаток. Получим 17.

Еще один пример: десятичное 125 в восьмеричной системе: 125 / 8 = 15 (5). Полученное частное больше, чем основание 8.

Продолжаем делить: 15 / 8 = 1 (7). Ответ записывается с последнего частного, а затем остатки от деления: 175.

Следует запомнить, что запись результата всегда начинает с последнего частного и остатков от деления в обратном порядке.

2. Преобразование части десятичного числа, записанной после запятой, выполняется с помощью обратной процедуры, то есть умножения, вычисляя одно за другим произведения дробных частей на основание будущей системы счисления и записывая последовательно цифры, полученные в целой части. Например, дробная часть числа 0,134 в двоичную систему переводится так (удобнее это делать столбиком):

0,134 * 2 = 0,268 (в целой части 0)

0,268 * 2 = 0,536 (0)

0,536 * 2 = 1,072 (слева от запятой 1)

0,072 * 2 = 0,144 (в целой части 0)

0,144 * 2 = 0,288 (0)

Произведения вычисляют до тех пор, пока не будет обеспечена заданная точность или в остатке не получится ноль.

Ответ: десятичное 0,134 в двоичной системе равно 0,00100.

При умножении следует брать только остатки, не учитывая полученную цифру в целой части.

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

a1 * x^(n-1) + a2 * x^(n-2) + a3 * x^(n-3) + …+an * x^0

Например, 137 = 1 * 10^2 + 3 * 10^1 + 7 * 10^0.

Рассмотрим примеры перевода чисел:

2 →10: 11011 = 1 * 2^4 + 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 27

8 →10: 134 = 1 * 8^2 + 3 * 8^1 + 4 * 8^0 = 92

16 → 10: 1AF = 1 * 16^2 + 10 * 16^1 + 15 * 16^0 = 431

Перевод чисел в системах счислении, построенных на бинарном основании

Восьмеричная и шестнадцатеричные системы счисления построены на бинарном базисе. Основанием восьмеричной системы является число 8, то есть 2^3, а основание шестнадцатеричной системы 16 = 2^4. Перевод между этими системами и двоичной системой удобнее всего выполнять с помощью таблицы перевода систем счисления:

Перевод систем счисления

Рис. 3. Таблица соответствия чисел в 2-, 8- и 16-й системах счисления.

Каждое восьмеричное число представляется триадой (тремя элементами) двоичных знаков, каждое шестнадцатеричное – двоичной тетрадой (четыре элемента).

Например, 8 → 2: 134 ⇔ 001011100

16 → 2: 8F ⇔ 10001111

2 → 8: 110101 ⇔ 65

2 → 16: 11011000 ⇔ D8

Что мы узнали?

Переход между различными системами счисления выполняется по строго определенным правилам. Десятичные числа преобразуются в другие системы путем последовательного деления целой части и умножения дробной, обратный перевод выполняется с помощью полинома. Перевод между 2-, 8- и 16-ми системами выполняется по таблице.

Предыдущая
ИнформатикаПересечение множеств
Следующая
ИнформатикаПользовательский интерфейс
Спринт-Олимпик.ру