Информатика и вычислительная техника


Машинные коды и форматы представления данных


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

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

Прямой код двоичного числа содержит цифровые разряды, перед которыми записан знаковый разряд. Например, для чисел х = + 1101 и у = - 1001 их прямые коды запишутся в виде: xпр = 0.1 101 и yпр = 1.1001.

Обратный код положительного числа полностью совпадает с его прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде, а значащие цифровые разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а единицы - нулями. Для приведенного выше примера с числами х и у имеем: хобр = 0.1101 и yобр = 1.0110.

Особенностью обратного кода является то, что в нем нуль имеет двоякое представление. Он может быть положительным (+ 0)обр = 0.00...0 и отрицательным числом (- 0)обр = 1.11...1. Двойственное представление нуля явилось причиной того, что в современных ЭВМ числа обычно представляются не обратным, а дополнительным кодом.

Дополнительный код положительного числа совпадает с прямым кодом, а для отрицательного числа образуется из обратного кода путем прибавления единицы к младшему разряду. Для приведенного ранее примера имеем: xдоп = хпр = 0.1101 и yдоп = 1.0111.

В дополнительном коде нуль имеет единственное представление (+ 0)доп = (- 0)доп = 0.00..0.

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


Начало  Назад  Вперед



Книжный магазин