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

2.7 Модифицированные бинарные коды

2.7.1 Переполнение разрядной сетки

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

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

Пример 1

А=0,1010; В=0,1101. Апр=0,1010 10

пр=0,1101 13

Cпр=0,0111 = 7

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

Пример 2 А=0,1011, В=0,1010 Адоп=0,1011 +Вдоп=0,1010

Сдоп=1,0101

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

Пример 3 А=0,0111, В=0,1101 Аобр=0,0111 +Вобр=0,1101

Собр=1,0100

Знак числа искажен.

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

Знак числа

Разряд переполнения

Sg

Sg

1

2

3

● ● ●

n-1

n

Разряд хранения Число в формате ФЗ знака

Рисунок 2.4. Модифицированный код числа

В машинном представлении чисел, представленных в модифицированном коде, используется (n+2) разряда: из них 2 знаковых, запятая опускается, устанавливается постоянный коэффициент формата Кф.

Знаковые разряды могут иметь следующие комбинации состояний при любых А и В:

00 - результат числа положительный, переполнения нет;

01 - результат числа положительный, было переполнение;

10 - результат числа отрицательный, было переполнение;.

11 - результат числа отрицательный, переполнения нет.

Пример: 1) 0,1011,В=0,1010. Амд=00.1011 +Вмд=00.1010 Смд=01.0101 =00.10101 = 21

Здесь признаком переполнения является 1 в знаковом разряде. По этому признаку производится сдвиг числа вправо с одновременным увеличением коэффициента формата Кф на +1 и восстановлением (по значению Sg1) знака 00 числа, проверяется нормализация числа (наличие 1 после знака числа).

Пример: 2) А=-0,1011, В=-0,1001. Ампр.=11.1011, Вмпр.=11.1001. Так как оба числа отрицательны и операция сложения выполняется на сумматоре дополнительного кода, то в сумматор числа поступают в дополнительном коде.

Амд=11.0101 +Вмд=11.0111 Смд=10.1100

Переполнение. Необходим сдвиг вправо, для восстановления знака. Смд=11.01100 преобразуем в прямой код. Спр.=11.10100 = -20.

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

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