Re[3]: memcmp и float
От: alzt  
Дата: 30.08.07 07:39
Оценка:
Здравствуйте, rg45, Вы писали:

G>>Нет. Вообще прямое сравнение чисел с плавающией запятой, вида (a==b) может дать неправильный результат


R>Если битовое представление a и b одинаково, то эти два числа равны и выражение a == b истинно. Если битовое представление a и b не одинаково, то эти два числа не равны и выражение a == b ложно. Исключение составляют лишь QNAN'ы, для которых по задумке число не равно само себе. Где же неправильный результат?


R>З.Ы. Часто случается, что при операциях с числами с плавающей точкой мы получаем результат с некоторой погрешностью и часто при сравнении эту погрешность нужно учитывать. Но сравнение дает правильный результат все-таки.


Результат правильный с точке зрения эквивалентности двоичного представления, но может быть не правильным с точки зрения логики программы, как раз из-за округлений.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.