Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Минимальное значение для float

#cpp


Какое значение нужно присваивать переменной типа float, чтобы с помощью неё найти
максимум: std::numeric_limits::min() или std::numeric_limits::lowest(),
или др.?
    


Ответы

Ответ 1



Ну, поскольку о min пишут min returns the minimum positive normalized value т.е. это малое положительное число, то, если вы работаете во всем диапазоне - включая отрицательные числа - лучше использовать lowest. Если только положительные - то 0 :)

Ответ 2



Есть одно значение, которое будет меньше, чем возвращенное lowest. Это: -std::numeric_limits::infinity() Следующий код выведет true: #include #include int main() { std::cout << std::boolalpha << (-std::numeric_limits::infinity() < std::numeric_limits::lowest()) << "\n"; } Перед использованием имеет смысл проверить, что std::numeric_limits::has_infinity == true.

Комментариев нет:

Отправить комментарий