Вычислительные машины и системы

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

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

При переводе «дробной» части числа «целые» части чисел, получающихся при умножении, не участвуют в последующих умножениях. Они представляют собой цифры дробной части исходного числа в новой системе счисления, изображенные числами старой системы. Значение первой целой части является первой цифрой после запятой переведенного числа.

Пример перевода числа 30,6 из десятичной системы в двоичную:

Перевод целой части Перевод дробной части

Последовательное Остатки Целые части — Последовательное

деление разряды переведенной дроби умножение

0, 6

X

2

30 / 2 0 ------¬ -------------------

15 / 2 1 -----¬¦ ----- 1, 2

7 / 2 1 ----¬¦¦ ¦ X

3 / 2 1 ---¬¦¦¦ ¦ 2

1 / 2 1 --¬¦¦¦¦ ¦ -------------------

0 ¦¦¦¦¦ ¦---- 0, 4

¦¦¦¦¦ ¦¦ X

¦¦¦¦¦ ¦¦ 2

¦¦¦¦¦ ¦¦ -------------------

¦¦¦¦¦ ¦¦--- 0, 8

¦¦¦¦¦ ¦¦¦ X

¦¦¦¦¦ ¦¦¦ 2

¦¦¦¦¦ ¦¦¦ -------------------

¦¦¦¦¦ ¦¦¦-- 1, 6

¦¦¦¦¦ ¦¦¦¦

Результат: 11 110,1001

Если при переводе дробной части получается периодическая

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

ностью вычислений.

Пример перевода числа 111 110,01 из двоичной системы в десятичную.

1Перевод целой части Перевод дробной части

0, 0100

X

1010

_111 110| _1010. -------------------

_1010. |110 --------¬ ------ 10, 1000

1011 ¦ ¦ X

_1010. ¦ ¦ 1010