std::numeric_limits:
float maxValue = std::numeric_limits<float>::min();
но возвращается 0. Почему так и как получить минимальное негативное число?
Отрицательная бесконечность подойдёт?
https://en.cppreference.com/w/cpp/types/numeric_limits/lowest
спасибо, но все равно непонятно, почему сделано так, что std::numeric_limits::min() для вещественных типов возвращают минимальное положительное число
https://docs.microsoft.com/ru-ru/cpp/c-language/limits-on-floating-point-constants?view=msvc-170
вероятно, из-за необходимости возвращать наименьшее число по модулю и просто наименьшее число поэтому выделили min() - минимальное (представимое) число и lowest() - наименьшее вообще
Да, но это работает только для вещественных. Для целочисленных возвращается минимально возможное для этого типа
Для целочисленных просто имеет смысл две величины - максимально и минимально возможное. Для плавающих возникает еще минимальнопредставимое, а оно, имхо, ближе к ::min(), чем к ::lowest(). Но запутано, согласен
спасибо, понял
Обсуждают сегодня