#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.
Комментариев нет:
Отправить комментарий