Сложение чисел на сумматоре обратного кода

Двоичным сумматором обратного кода (ДСОК) называется сумматор, оперирующий с числами в обратном коде.

Структурная схема ДСОК приведена на рисунке 8.2.

Рисунок 8.2.-Структурная схема ДСОК

ДСОК имеет: n-сумматоров (по количеству разрядов мантиссы); сумматор знаковых разрядов; ai, bi – цифровые разряды числа в машинном коде; переносы из старших разрядов мантиссы в знаковый разряд; наконец, обратный перенос из старшего знакового разряда в младший разряд цифровой части числа.

Чтобы сформировать правила сложения чисел в обратных кодах на ДСОК рассмотрим следующую теорему.

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

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

Рассмотрим следующие случаи.

Случай 1. А>0, В>0, А+В<1 т.е. оба числа положительные.
Тогда Аобр. + Вобр = [A + B]обр = А + В, т.е. сложение производится

в прямых кодах.

Случай 2. A<0, B>0, |A|>B,

здесь Аобр = q - q-n + A, Вобр = В, тогда Аобр + Вобр = q - q-n + A + B = [A + B]обр, т.е. результат отрицательный и в обратном коде, надо возвращаться к Спр путем инверсии разрядов числа.

Пример:

А = – 0.1011 – 11 В = 0.0111 +7Сумматор ДСОК.

Случай 3. A<0, B>0, A<B, здесь Аобр = q - q-n + A. Тогда Аобр + Вобр = q - q-n + A + B. Так как сумма (А + В) положительная, то правая часть этого выражения становится больше q, что вызывает появление единицы переноса из знакового разряда в младший разряд числа (величина переноса при этом, равна q - q-n), тогда Аобр + Вобр = А+В. Результат положительный. Это и есть Спр.

Пример:

А = -0.0101 (-5) В = 0,0111 (+7) Сумматор ДОСК

 

Случай 4. А<0, В<О, |А + В|<1,

здесь Ao6p = q - q-n + A, Вобр= q - q-n + B. Тогда Аобр + Вобр = q - q-n+A+ q - q-n +B. Здесь появляется единица переноса, что равносильно изъятию из суммы q - q-n, т.е. Аобр+ Вобр= q - q-n + A + B=[A + B]o6p.

 

Пример:

А = -0,0101 ; В = -0,1000 Найти сумму используя ДСОК.

Складываем машинные изображения.