Получить минимальное ОТРИЦАТЕЛЬНОЕ значение с плавающей запятой в C ++

Я смотрел на std :: numeric_limits :: min / max () , но он появляется 'min ()' возвращает наименьшее абсолютное значение, а не наименьшее значение . Безопасно ли использовать

-std :: numeric_limits :: max () , т.е. e является симметричным с плавающей запятой в минимальных / максимальных пределах?

25
задан Lazer 5 September 2010 в 11:20
поделиться

2 ответа

Числа с плавающей запятой IEEE 754 используют знаковый бит для подписи (а не что-то вроде двоек дополнение), поэтому, если вы уверены, что ваш компилятор / платформа использует это представление (очень часто), вы можете использовать -std :: numeric_limits :: max () , как вы и подозревали.

30
ответ дан 28 November 2019 в 18:31
поделиться

использовать std :: numeric_limits :: low ()

static _Ty __CRTDECL lowest() _THROW0()
    {   // return most negative value
    return (-(max)());
    }
24
ответ дан 28 November 2019 в 18:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: