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

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

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

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

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

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

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

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

 

Величина e зависит от кода. Для дополнительного кода ε = 0, для обратного кода e = 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).

 

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