Численные подводные камни без FPU повышенной точности - PullRequest
1 голос
/ 26 июля 2011

Отличная статья Моннио, "Подводные камни проверки арифметики с плавающей точкой" , приводит примеры неожиданного числового поведения.Однако большинство примеров зависят от FPU с расширенной точностью или операций с повышенной точностью (например, умножение с накоплением).Помимо нуля со знаком и сравнений с использованием NaN, есть ли хорошие примеры удивительного численного поведения, когда аппаратное обеспечение расширенной точности отключено?

1 Ответ

4 голосов
/ 28 июля 2011

Пример, который часто удивляет программистов, это когда x + 1 == x.В плавающей запятой одинарной точности это верно для x, равного 2^25 из-за ограниченной точности мантиссы.Это часто возникает при увеличении значений времени в симуляции на маленький временной шаг. похожая проблема коснулась ракеты "Патриот".

...