Алгоритм сложения для чисел с плавающей точкой

 

Пример. x = -9, y =-0,15. Найти x+y

 

1.Перевести числа в двоичную систему счисления и нормализовать.

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

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

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

прямой код обратный код дополнительный код

 

   

mx

 

   

my

                                               

mx+y

Знаковый разряд операции «1», следовательно, результат есть число отрицательное и представлено в дополнительном коде. Преобразуем его в прямой код:

mx+y

 

 

а) инверсия

 

b) добавить «1»

 

5. При необходимости результирующая мантисса нормализуется.

 

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