logo
Основы автоматизации производства

2. Правила перевода одной системы счисления в другую

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

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

Например, переведем десятичное число 1987 в двоичную систему счисления:

Число 1987 десятичной системы в двоичной системе составит 11111000011, т. е. (1987)10 = (11111000011)а.

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

Например, переведем восьмеричное число 123 в десятичное: (123)8 = 1·82 + 2·81 + 3·80 = 64 + 16 + 3 = 83, т. е. (123)8 = (83)10.

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

Например, переведем десятичную дробь 0,65625 в двоичную систему счисления:

Так как дробная часть 5-го произведения состоит из одних нулей, то дальнейшее умножение является излишним. Это означает, что заданная десятичная дробь переводится в двоичную систему без погрешности, т. е. (0,65625)10 = (0,10101)2.

Перевод из восьмеричной и шестнадцатеричной систем исчисления в двоичную и обратно не сложен. Это объясняется тем, что их основания (d = 8 и d = 16) соответствуют целым степеням двух (28 = 8 и 24 = 16).

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

Например, переведем восьмеричное число (571)8 и шестнадцатеричное число (179)16 в двоичную систему счисления.

В обоих случаях получаем одинаковый результат, т. е. (571)8 = (179) = (101111001).

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

Например, запишем число (0010 0001 1000, 0110 0001 0110)2-10 в десятичной системе счисления, т. е.

(0010 0001 1000, ,0110 0001 0110)2-10 = (218,625)10.