Машинные коды ЭВМ

 

 


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

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

Пример 2.11. Прямой код положительного (отрицательного) числа

  

  

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

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

Пример 2.12. Обратный код положительного (отрицательного) числа

  

  

Обратный код имеет несколько важных свойств:



  • сложение положительного числа с его отрицательным значением в обратном коде дает машинную единицу обратного кода МЕобр = 1|111…111;

  • нуль в обратном коде может быть как положительным - 0|000…000, так и отрицательным - 1|111…111 числом.

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

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

Пример 2.13. Дополнительный код положительного (отрицательного) числа

  

  

  

Дополнительный код имеет несколько важных свойств:



  • сложение дополнительных кодов положительного и отрицательного чисел дает машинную единицу дополнительного кода МЕдоп = МЕобр + 20 = 10|000…000;

  • нуль в дополнительном коде имеет единственное представление.

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


Лекция добавлена 28.02.2013 в 03:22:01