Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_ПТЦА_2.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
594.94 Кб
Скачать

2.4 Сложение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода

Двоичным сумматором прямого кода (ДСПК) называется сумматор, в котором отсутствует цепь поразрядного переноса между старшим цифровым и знаковым разрядами (рисунок 2.1).

Рис. 2.1. Сумматор прямого кода.

На сумматорах прямого кода можно складывать только числа, имеющие одинаковые знаки, а результат сложения < 1 , т.е. такой сумматор не выполняет операцию алгебраического сложения, переполнение старшего n-разряда служит лишь для индикации факта, что оно было, перекладывая дальнейшие заботы на пользователя, а знак определяется по знаку любого операнда, например SqA.

Пример. Сложить А=0,1011; В = 0,0100 .Здесь SqA = 0 ; SqB = 0

0,1011 (11)

+ 0,0100 (4)

0,1111(15) Ответ: С = 0,1111

Сложить A = –0,0101; B = –0,1001. Здесь SqA = 1 ; SqB = 1

1,0101 (5) +1,1001 (9)

1.1110 (14) Ответ: С = 1,1110

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

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

2.5 Cложение чисел на двоичном сумматоре дополнительного кода

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

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

Рис2.2. Двоичный сумматор дополнительного кода.

Справедлива следующая теорема.

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

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

Случай 1. A>0, B>0, а A + B<1 числа положительные и нет переполнения.

А = 0,1010; В = 0,0100

Адоп. =0,1010 +Вдоп.= 0,0100 Сдоп. = 0,1110 Спр.=0,1110

Случай 2 A<0, B>0, а |A|>B. А = – 0,1011; В = 0,0100

Адоп=1,0101 +Вдоп =0,0100

Сдоп. =1,1001 Спр. = 1,0111

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

Случай 3. A<0, B>0, а |A|<B. А = -0,0100; В = 0,1011.

Адоп =1,1100 +Вдоп = 0,1011 Спря. = 0.0111

Случай 4. A<0, B<0, а |A + B|<1. . А = – 0,0100; В = – 0,1011.

Адоп = 1,1100

+Вдоп = 1,0101

Сдоп = 1,0001 Спря=1.1111 = -15

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

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

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

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

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

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

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

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

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

А = 0.0101 +5

В = 0.0111 7

С = 0.1100 12

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

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

Аобр=1.0100

Вобр=0.0111

Собр=1.1011 Спр=1.0100 = -4

Случай 3. A<0, B>0, A<B, А = -0.0101 (-5) В = 0,0111 (+7) Сумматор ДОСК

Аобр = 1.1010 Вобр= 0.0111 Собр=10.0001 |→ 1

0.0010 Спр.=0.0010 =2.

Случай 4. А<0, В<О, |А + В|<1, А = -0,0101 (-5) ; В = -0,1000 (-8) Найти сумму используя ДСОК.

Aобр=1.1010 +Bобр=1.0111 11.0001

|→ 1

Cобр=1.0010 Спр= 1.1101 (-13).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]