Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПТЦА-1-2004(Комп.логика).doc
Скачиваний:
257
Добавлен:
07.02.2016
Размер:
7.96 Mб
Скачать

9.2 Модифицированное сложение чисел в формате с плавающей точкой

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

Для чисел с плавающей точкой справедливо условие нормализации: q-1< | mA| < 1 (9.1),

где q - основание системы счисления; mA - мантиссы числа.

Это нормализованное представление числа, и оно требует, чтобы в старшем разряде мантиссы двоичного числа стояла единица. Для двоичной системы это будет означать, что мантисса всегда находится в пределах: 0,5|mA|< 1 (9.2)

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

Операция нормализации числа состоит из условия нормализации (9.1) и осуществляется методом сдвига мантиссы числа в ту или иную сторону. Сдвиги могут производиться влево или вправо в пределах разрядной сетки машины по правилам представленных моделью таблицы 9.1.

Модифицированный сдвиг - операция над модифицированным изображением числа, выполняется по модели таблицы 9.2.

Величина  зависит от кода. Для дополнительного кода ε = 0, для обратного кода  = 1.

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

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

Признаком нарушения нормализации числа слева δ (когда результат по абсолютной величине оказывается меньше 1/q ) является наличие одинаковых комбинаций в разряде переполнения и старшем разряде цифровой части сумматора.

Итак, рассмотрим сложение чисел А = mApA и В = mBpB имеющих одинаковый порядок pA=pB Обе мантиссы удовлетворяют условию нормализации.

Сложение мантиссы осуществляют на сумматоре ДСДК или ДСОК по правилу сложения чисел аналогично в формате с фиксированной запятой. Если после сложения мантисса результата удовлетворяет условию нормализации (т.е. δ = 0, γ=0), то к этому результату приписывается порядок любого из операндов. В противном случае производится нормализация числа.

Пример1. Найти сумму чисел

А=0,1000*2-3 и В=-0,1011*2-3

Мантиссы и порядок обрабатываются на ДСДК.

Здесь Sg2&R1=11 т.е.δ =1, γ=0. Значить, необходим сдвиг мантиссы влево на 1разряд.

[m'c]=11,1010 Проверяем. Снова δ=1, γ=0. Значить, необходим еще сдвиг влево на 1 разряд.

[m"c]доп. 11, 0100 Проверяем. Все в порядке δ= 0, γ=0.

Одновременно со сдвигом нужна коррекция порядка на

–2(10)=1.010(2) (что равносильно прибавлению дополнительного кода 1.110).

тогда число равно:

10 Сложение чисел при разных значениях порядков

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

Выравнивание порядков означает, что порядок меньшего числа надо увеличить на величину ΔР=|ра – рв | , что означает сдвиг мантиссы меньшего числа вправо на количество разрядов, равное ΔР. Поэтому, цифровой автомат должен вначале распознать, какой порядок из двух чисел является меньшим. На это укажет знак ΔР . Если ра≥рв - знак положительный и наоборот, если знак отрицательный, то ра < рв. Эту операцию иногда выполняют путем сравнения чисел.