Стандартный порядок IEEE 754-2008 сохраняется при умножении - PullRequest
1 голос
/ 05 января 2012

В стандарте IEEE для арифметики с плавающей точкой упорядочение чисел с плавающей запятой сохраняется при умножении. Например, пусть a, x и y будут числами с плавающей запятой, если гарантировано, что

если x

Было бы странно, если бы это было не так, но я хотел бы получить некоторое заверение.

Спасибо заранее.

1 Ответ

1 голос
/ 05 января 2012

Я предполагаю, что в вашем вопросе множитель положительный.

Ответ - нет.

Во-первых, продукты всегда могут быть переполнены или переполнены. В этом случае они округляются до 0 или до + бесконечности, и неравенство нарушается.

Что касается более общего случая: поскольку результаты всегда правильно округляются, а необоснованное значение ax меньше необоснованного значения ay, округленное значение ax не может быть больше округленного значения y. Это все еще оставляет возможность того, что один округляется в большую сторону, а другой округляется в меньшую сторону, и округленные значения будут равны.

Это может произойти, только если x и y являются последовательными числами с плавающей запятой. В противном случае разница всегда превышает 1 единицу на последнем месте, и числа не могут быть округлены одинаково.

И, к сожалению, иногда это случается. Взять, к примеру:

x = 1.2345678899999997
y = 1.23456789
a = 0.84812721230468113

тогда ax и ay равны 1.047070622946572.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...