Пикабушники, выжпрограммисты, объясните, пожалуйста, как в Си сравнивать переменные типа float?

Сравнение на на "равно", а на "больше/меньше". Как я понимаю, просто операторами "" числа с плавающей точкой сравнивать нельзя. Объясните как можно? Ну, или хотя бы ссылочку, где об этом прочитать можно
Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий
Почему нельзя?
раскрыть ветку (5)
Автор поста оценил этот комментарий
вот что-то типа этого. или я ошибаюсь? Необходимо помнить, что вещественные числа хранятся в памяти компьютера с некоторой ограниченной точностью в двоичной системе счисления, в то время как общепринятой в использовании является десятичная система счисления. Поэтому многие числа, которые точно записываются в десятичной системе, в двоичной системе можно записать только в виде бесконечной дроби.

Например, числа 0.3 и 0.7 представлены в компьютере бесконечными дробями, в то время как число 0.25 хранится точно, так как представляет из себя степень двойки.

В связи с этим, категорически не рекомендуется сравнивать между собой два вещественных числа на равенство, так как такое сравнение не является корректным.
раскрыть ветку (4)
1
Автор поста оценил этот комментарий
Хуйня это все, бери и сравнивай. если тебя это пугает, то сравнивай что то типа вот такого if Abs(a - b) < 1e-10 делаем что то, сорри не помню синтаксис уже какой там.
Автор поста оценил этот комментарий
В связи с этим, категорически не рекомендуется сравнивать между собой два вещественных числа на равенство, так как такое сравнение не является корректным.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Ну, т.е. на "больше/меньше" сравнивать можно?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Можно, но для страховки можешь ввести некоторую погрешность в сравнении.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку