Namespaces
Variants

Standard library header <cfloat>

From cppreference.net
Standard library headers

Этот заголовочный файл изначально находился в стандартной библиотеке 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_DIG DBL_DECIMAL_DIG LDBL_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_MIN DBL_MIN LDBL_MIN
минимальное нормализованное положительное значение float , double и long double соответственно
(макрос-константа)
FLT_TRUE_MIN DBL_TRUE_MIN LDBL_TRUE_MIN
(C++17)
минимальное положительное значение float , double и long double соответственно
(макрос-константа)
FLT_MAX DBL_MAX LDBL_MAX
максимальное конечное значение для float , double и long double соответственно
(макрос-константа)
FLT_EPSILON DBL_EPSILON LDBL_EPSILON
разница между 1.0 и следующим представимым значением для float , double и long double соответственно
(макрос-константа)
FLT_DIG DBL_DIG LDBL_DIG
количество десятичных цифр, которые гарантированно сохраняются при преобразовании текста → float / double / long double → текст без изменений из-за округления или переполнения (см. std::numeric_limits::digits10 для объяснения)
(макрос-константа)
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG
количество цифр по основанию FLT_RADIX , которые могут быть представлены без потери точности для float , double и long double соответственно
(макроконстанта)
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP
минимальное отрицательное целое число, такое что FLT_RADIX в степени на единицу меньше этого числа является нормализованным float , double и long double соответственно
(макрос-константа)
FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP
минимальное отрицательное целое число, такое что 10 возведенное в эту степень является нормализованным float , double и long double соответственно
(макрос-константа)
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP
максимальное положительное целое число, такое что FLT_RADIX возведённое в степень на единицу меньше этого числа является представимым конечным float , double и long double соответственно
(макроконстанта)
FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP
максимальное положительное целое число, такое что 10 возведённое в эту степень является представимым конечным числом float , double и long double соответственно
(макрос-константа)
режим округления по умолчанию для операций с плавающей точкой
(макрос-константа)
определяет, с какой точностью выполняются все арифметические операции
(макроконстанта)
FLT_HAS_SUBNORM DBL_HAS_SUBNORM LDBL_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 documentation for Limits of floating-point types
Перевод:
C documentation для Limits of floating-point types
**Примечания к переводу:** - HTML-теги и атрибуты сохранены без изменений - Термин "Limits of floating-point types" не переведен, так как это C++ специфический термин - Слово "for" переведено как "для" в контексте ссылки на документацию