Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 1

       

Сложение и вычитание в дополнительном коде


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

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

Рассмотрим подробнее алгебраическое сложение для случая представления отрицательных чисел в ДК.

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

  • знаковый разряд равен нулю: результат – положительное число в ПК;
  • знаковый разряд равен единице: результат – отрицательное число в ДК.
  • Для определения абсолютного значения результата его необходимо инвертировать, затем прибавить единицу.

    Пример.

    Вычислить алгебраическую сумму 58-23.

    Пример.

    Вычислить алгебраическую сумму 26-34.

    Пример.

    Вычислить алгебраическую сумму -5-1.



    Содержание раздела