ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
9 мая
24435 Топик полностью
Al Volovich (23.03.2005 15:48, просмотров: 1) ответил Al Volovich на Числа с плавающей запятой не принято сравнивать напрямую.
хтмл все съел. Повторяю <pre> то есть правильнее сказать, что a==b если (a>b-e)&&(a<b+e) где e - малая величина, значение которой зависит от задачи. Числа с плавающей запятой не сравнивают по всем разрядам т.к. из-за ограниченности разрядности выражение вычесленное как (a+b)^2 может быть неравно тому, что получится от выражения a^2+2ab+b^2. И даже ограничение разрядности (как в Кейле) не всегда поможет, т.к. как не ограничивай разрядность сравнения, а 0.99999999999 не будет равно 1.0. Хотя если Кейл еще и округляет до определенного знака - тогда может будет верный результат. Но надежнее сравнивать как я написал выше </pre>