Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава _2_А5.docx
Скачиваний:
67
Добавлен:
14.09.2019
Размер:
265.24 Кб
Скачать

2.5.2 Алгоритм формирования обратного кода. Арифметические и логические варианты алгоритмов.

Пусть прямой код операнда Х запишется как: X<0

[X]пр. = 1, Х1, Х2,…, Хi, …,Хn (2.6)

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

(логический алгоритм):

[Х]обр. = 1, Х’1, Х’2, …, Х’i, …, X’n (2.7)

Для Xi = 1 инверсия равна: X’I = 0

Для Xi = 0 инверсия равна: X’I = 1

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

(2.6) и (2.7):

[X]пр.+[X]обр. = 10,11…1…1 = 11-1*10-n

[Х]обр. = Х, если Х>0

[Х]обр. = Х – [X]пр.-1*10-n, для Х<0

Арифметический алгоритм образования обратного кода имеет вид:

[X]обр. = Х, для Х≥0

[X]обр. = 11-[X]пр. – 1*10-n, если Х<0

2.5.3 Сумматор обратных кодов (циклический сумматор), аксиомы обработки обратных кодов.

Аксиома 1: Сумма обратных кодов двух операндов X и Y эквивалентна (совпадает) обратному коду их суммы.

[X]обр. + [Y]обр. ≈ [X+Y]обр.

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

Если (X+Y)<0, то [X+Y]обр.

Если (X+Y)≥0, то [X+Y]пр.

Аксиома 3: Если при суммировании операндов │X│<1 и │Y│<1, образуется единица переноса из разряда знака ([X+Y]зн.) эквивалентная Pзн.,

[X+Y]зн. ≈ Pзн. 1*10-n

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

2.5.4 Блок схема суммирования двоичной информации в форме с плавающей запятой

1

начало

2

Ввод мантисс операндов: mx, my

Нормализация результата

конец

Запись в память

Нормализован ли результат операции?

[mx]доп. + [my]доп.

Формирование инверсных кодов mx и my

Px-Py

Денормализация mx

Денормализация my

Px>Py

Ввод порядков операндов: Px, Py

Py-Px

3

Да 4 Нет

5 6

7 8

9

10

Нет 11 Да 12

14

13

Реализация данного алгоритма после задания операндов в нормальной форме (Х= ±mx*10±Px; Y= ±my*10±Py) требуют выравнивания порядков в сторону большего.

1/N≤|m|<1

X= 0,10010101*101001

Y= -0,11001100*10110

Px= 1001

-

Py= 110

Px-Py= [11]2=[3]10

[mx]доп.= 010010101000

+ my= -0,00011001100

[my]доп.= 111100110100

[mx+my]пр.= 0,01111011100

Px+y=1001+1=1000

[mx+my]пр.=0,01111011100*101001

X+Y = 0,11110111*101000

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