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

3.1. Перевод целых чисел

В связи с использованием в ЭВМ различных систем счисления, возникает необходимость перевода чисел из одной системы счисления в другую. Существует несколько правил перевода чисел.

Чтобы вывести правило перевода целых чисел, воспользуемся тем очевидным фактом, что, если числа А и q есть целые положительные, то всегда существует единственное (неотрицательное) целое число r, меньшее, чем q, и единственное число S, такие, что

Например, А=5, q=3, тогда

Используем это обстоятельство для перевода целого числа с основанием р, например Ар, в его эквивалент Аq с основанием q. Другими словами, мы хотим определить неотрицательные числа а0, а1,...,аn, каждое из которых меньше, чем q так, чтобы

Аpn·qn+...+а1·q1+а0·q0=Аq.

Заметим, что

|← целая часть →|← дробная часть

С другой стороны, согласно выше сформулированному утверждению, для любой пары целых положительных чисел Ар и q всегда найдется единственное S0 и r0 такие, что

Поскольку и частное и остаток единственны, то, приравнивая целые и дробные части, получим:

а0=r0; S0=an·qn-1+...+а1q0,

т.е. младшая искомая цифра равна остатку от деления Ар на q. Деля S0 на q, и, используя предыдущий результат, получим:

откуда а1=r1 и т.д. до получения частного, которое меньше нового основания. Это частное и будет последней (старшей) цифрой искомого числа.

В самом деле, пусть А13q3+а2q2+а1q1+а0q0, тогда

| A2 |

| A3 |

В связи с этим можно сформулировать следующее правило перевода целых чисел.

Целое число в новой системе счисления можно получить в результате последовательного деления исходного числа, а затем и частных, на новое основание системы до получения частного, которое меньше нового основания. Из этого частного и всех полученных остатков составится число в новой системе: последнее частное будет первой цифрой числа, последний остаток – второй цифрой, и т.д. Деление выполняется по правилам той системы счисления, в которой записано исходное число. Делитель (основание новой системы) записывается цифрами новой системы.

На практике иногда поступают так: на бумаге проводят справа от исходного числа вертикальную черту, под самим числом записывают получающиеся частные, а справа от черты друг под другом остатки. Тогда после окончания процесса полученное двоичное число переписывают снизу вверх, например, десятичное число 35 в двоичную систему переводится так:

35 1

17 1

8 0

4 0

2 0

1 1 В результате получим 3510=1000112.

Примеры:

1) Числа 118 и 78 перевести из десятичной системы счисления в двоичную:

_118 | 2 _78 | 2

118 _59 | 278 _39 | 2

0 58 _29 | 2 0 38 _19 | 2

1 28 _14 | 2 1 18 _9 | 2

1 14 _7 | 2 1 8 _4 | 2

0 6 _3 | 2 1 4 _2 | 2

1 2 1 0 2 1