Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii.doc
Скачиваний:
24
Добавлен:
19.08.2019
Размер:
3.66 Mб
Скачать

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

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

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

Пример 2.10. Найти сумму чисел A и B в прямом коде.

Решение. Запишем машинные изображения чисел A и B в прямом коде.

а) [A]ПР = 0,1010 и [B]ПР = 0,1101

б) [A]ПР = - 0,1100 и [B]ПР = - 0,1010

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

Пример 2.11. Сложить числа A и B в дополнительном коде.

Решение. Запишем машинные изображения чисел A и B в дополнительном коде.

а) A=0,1011 и B=0,1010

б) A=-0,1011 и B=-0,1001

Для обнаружения переполнения разрядной сетки в составе цифрового автомата должны быть предусмотрены аппаратные средства, автоматически вырабатывающие признак переполнения - сигнал .

Чтобы обнаружить переполнение разрядной сетки вводится вспомогательный разряд в знаковую часть изображения числа (рис.2.1).

Такое представление числа называется модифицированным кодом. Тогда в случае появления переполнения сигнал =1.

, ;

В остальных случаях =0.

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

а )

«01» в знаковых разрядах – признак переполнения разрядной сетки.

б )

«10» в знаковых разрядах – признак переполнения разрядной сетки.

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

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

Сложение (вычитание) чисел с плавающей точкой (в предположении, что ) выполняется согласно выражению:

При сложении (вычитании) чисел с плавающей точкой применяют следующий алгоритм.

1. Производится выравнивание порядков чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего, а мантисса меньшего числа сдвигается вправо на число разрядов равное разности порядков чисел.

2. Производится сложение (вычитание) мантисс, в результате чего получается мантисса суммы (разности).

3. Порядок результата принимается равным порядку большего числа.

4. Полученная сумма (разность) нормализуется.

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

1) (m – число разрядов мантиссы. В качестве результата суммирования сразу может быть взято первое слагаемое, т.к. при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение;

2) . В качестве результата суммирования может быть взято второе слагаемое;

3) . Можно приступить к суммированию мантисс;

4) . Мантисса второго слагаемого сдвигается на разрядов вправо, затем производится суммирование мантисс;

5) . Перед выполнением суммирования мантисс производится сдвиг мантиссы первого числа на разрядов вправо.

За порядок результата при выполнении суммирования принимается больший из порядков операнда.

Сложение (вычитание) мантисс производится по правилам сложения (вычитания) чисел с фиксированной точкой.

Нормализация суммы (разности) производится в случае невыполнения условия , при этом, если , увеличивается на единицу, а мантисса сдвигается на один разряд вправо, что дает . Если , то мантисса результата сдвигается на один разряд влево при одновременном уменьшении порядка результата на 1. Эти операции производятся до тех пор, пока не станет выполняться условие .

Пример 2.12. Сложить числа и в обратном коде (шесть двоичных разрядов для мантиссы и четыре двоичных разряда для порядка).

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

.

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

В результате получилось не нормализованное число, поэтому необходимо осуществить нормализацию мантиссы и соответствующую коррекцию порядка:

Получили окончательный результат: .

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