Заголовочный файл стандартной библиотеки <cfloat>
Материал из cppreference.com
Этот заголовочный файл изначально был в стандартной библиотеке C как <float.h>.
Этот заголовок является частью библиотеки поддержки типов, в частности, он является частью интерфейса числовых лимитов C.
[править] Макросы
FLT_RADIX |
основание (целое число), используемое представлением всех трёх типов с плавающей запятой (макроконстанта) |
DECIMAL_DIG (C++11) |
преобразование из long double в десятичное число, содержащее не менее DECIMAL_DIG цифр, и обратно в long double является преобразованием идентичности: это десятичная точность, необходимая для сериализации/десериализации long double (смотрите также std::numeric_limits::max_digits10) (макроконстанта) |
FLT_DECIMAL_DIGDBL_DECIMAL_DIGLDBL_DECIMAL_DIG (C++17) |
преобразование из float/double/long double в десятичное число с не менее чем FLT_DECIMAL_DIG/DBL_DECIMAL_DIG/LDBL_DECIMAL_DIG цифр и обратно это преобразование идентичности: это десятичная точность, необходимая для сериализации/десериализации значения с плавающей запятой (смотрите также std::numeric_limits::max_digits10). Определено как минимум 6, 10 и 10 соответственно или 9 для IEEE float и 17 для IEEE double. (макроконстанта) |
FLT_MINDBL_MINLDBL_MIN |
минимальное нормализованное положительное значение float, double и long double соответственно (макроконстанта) |
FLT_TRUE_MINDBL_TRUE_MINLDBL_TRUE_MIN (C++17) |
минимальное положительное значение float, double и long double соответственно (макроконстанта) |
FLT_MAXDBL_MAXLDBL_MAX |
максимальное конечное значение float, double и long double соответственно (макроконстанта) |
FLT_EPSILONDBL_EPSILONLDBL_EPSILON |
разница между 1.0 и следующим представимым значением для float, double и long double соответственно (макроконстанта) |
FLT_DIGDBL_DIGLDBL_DIG |
количество десятичных цифр, которые гарантированно сохраняются в тексте → float/double/long double → и обратно в текст без изменений при округлении или переполнении (смотрите std::numeric_limits::digits10 для объяснения) (макроконстанта) |
FLT_MANT_DIGDBL_MANT_DIGLDBL_MANT_DIG |
количество базовых FLT_RADIX цифр, которые могут быть представлены без потери точности для float, double и long double соответственно (макроконстанта) |
FLT_MIN_EXPDBL_MIN_EXPLDBL_MIN_EXP |
минимальное отрицательное целое число, такое что FLT_RADIX, возведённое в степень на единицу меньше, чем это целое число, является нормализованным float, double и long double соответственно (макроконстанта) |
FLT_MIN_10_EXPDBL_MIN_10_EXPLDBL_MIN_10_EXP |
минимальное отрицательное целое число, такое что 10, возведённое в эту степень, является нормализованным float, double и long double соответственно (макроконстанта) |
FLT_MAX_EXPDBL_MAX_EXPLDBL_MAX_EXP |
максимальное положительное целое число, такое что FLT_RADIX, возведённое в степень на единицу меньше, чем это целое число, является представимым конечным числом float, double и long double соответственно (макроконстанта) |
FLT_MAX_10_EXPDBL_MAX_10_EXPLDBL_MAX_10_EXP |
максимальное положительное целое число, такое что 10, возведённое в эту степень, является представимым конечным числом float, double и long double соответственно (макроконстанта) |
режим округления по умолчанию для арифметики с плавающей запятой (макроконстанта) | |
(C++11) |
указывает, с какой точностью выполняются все арифметические операции (макроконстанта) |
FLT_HAS_SUBNORMDBL_HAS_SUBNORMLDBL_HAS_SUBNORM (C++17) |
указывает, поддерживает ли тип субнормальные (денормализованные) числа: -1 – не определено, 0 – не поддерживает, 1 – поддерживает (макроконстанта) |
[править] Резюме
#define FLT_ROUNDS /* смотрите определение */ #define FLT_EVAL_METHOD /* смотрите определение */ #define FLT_HAS_SUBNORM /* смотрите определение */ #define DBL_HAS_SUBNORM /* смотрите определение */ #define LDBL_HAS_SUBNORM /* смотрите определение */ #define FLT_RADIX /* смотрите определение */ #define FLT_MANT_DIG /* смотрите определение */ #define DBL_MANT_DIG /* смотрите определение */ #define LDBL_MANT_DIG /* смотрите определение */ #define FLT_DECIMAL_DIG /* смотрите определение */ #define DBL_DECIMAL_DIG /* смотрите определение */ #define LDBL_DECIMAL_DIG /* смотрите определение */ #define DECIMAL_DIG /* смотрите определение */ #define FLT_DIG /* смотрите определение */ #define DBL_DIG /* смотрите определение */ #define LDBL_DIG /* смотрите определение */ #define FLT_MIN_EXP /* смотрите определение */ #define DBL_MIN_EXP /* смотрите определение */ #define LDBL_MIN_EXP /* смотрите определение */ #define FLT_MIN_10_EXP /* смотрите определение */ #define DBL_MIN_10_EXP /* смотрите определение */ #define LDBL_MIN_10_EXP /* смотрите определение */ #define FLT_MAX_EXP /* смотрите определение */ #define DBL_MAX_EXP /* смотрите определение */ #define LDBL_MAX_EXP /* смотрите определение */ #define FLT_MAX_10_EXP /* смотрите определение */ #define DBL_MAX_10_EXP /* смотрите определение */ #define LDBL_MAX_10_EXP /* смотрите определение */ #define FLT_MAX /* смотрите определение */ #define DBL_MAX /* смотрите определение */ #define LDBL_MAX /* смотрите определение */ #define FLT_EPSILON /* смотрите определение */ #define DBL_EPSILON /* смотрите определение */ #define LDBL_EPSILON /* смотрите определение */ #define FLT_MIN /* смотрите определение */ #define DBL_MIN /* смотрите определение */ #define LDBL_MIN /* смотрите определение */ #define FLT_TRUE_MIN /* смотрите определение */ #define DBL_TRUE_MIN /* смотрите определение */ #define LDBL_TRUE_MIN /* смотрите определение */
[править] Смотрите также
Документация C по Лимиты типов с плавающей запятой
|