Заголовок стандартной библиотеки <cfloat>
Изначально этот заголовок входил в стандартную библиотеку C как <float.h>.
Этот заголовок относится к библиотеке поддержки типов, в частности, к интерфейсу числовых пределов C.
Макросы
Характеристики |
|
| режим округления по умолчанию для арифметики с плавающей точкой (константа-макрос) |
|
|
(C++11) | задаёт точность, в которой выполняются все арифметические операции (константа-макрос) |
|
FLT_HAS_SUBNORMDBL_HAS_SUBNORMLDBL_HAS_SUBNORM
(C++17)(устарел в C++26) | указывает, поддерживает ли тип субнормальные (денормализованные) числа:-1 — определить невозможно, 0 — отсутствуют, 1 — присутствуют (константа-макрос) |
|
FLT_RADIX | основание системы счисления (целочисленное основание), используемое для представления всех трёх типов с плавающей точкой (константа-макрос) |
|
FLT_MANT_DIGDBL_MANT_DIGLDBL_MANT_DIG | количество цифр в системе счисления с основанием FLT_RADIX, которое можно представить без потери точности для float, double и longdouble соответственно (константа-макрос) |
|
FLT_DECIMAL_DIGDBL_DECIMAL_DIGLDBL_DECIMAL_DIG
(C++17) | преобразование float/double/longdouble в десятичное представление как минимум с FLT_DECIMAL_DIG/DBL_DECIMAL_DIG/LDBL_DECIMAL_DIG цифрами и обратно является тождественным преобразованием: это десятичная точность, необходимая для сериализации/десериализации значения с плавающей точкой (константа-макрос) |
|
DECIMAL_DIG
(C++11)(устарел в C++26) | преобразование longdouble в десятичное представление как минимум с DECIMAL_DIG цифрами и обратно в longdouble является тождественным преобразованием: это десятичная точность, необходимая для сериализации/десериализации значения типа longdouble (константа-макрос) |
|
FLT_DIGDBL_DIGLDBL_DIG | количество десятичных цифр, которое гарантированно сохраняется при циклическом преобразовании текст → float/double/longdouble → текст без изменений из-за округления или переполнения (константа-макрос) |
|
FLT_MIN_EXPDBL_MIN_EXPLDBL_MIN_EXP | наименьшее отрицательное целое число, при котором FLT_RADIX в степени на единицу меньше этого числа является нормализованным значением типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_MIN_10_EXPDBL_MIN_10_EXPLDBL_MIN_10_EXP | наименьшее отрицательное целое число, при котором 10 в этой степени является нормализованным значением типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_MAX_EXPDBL_MAX_EXPLDBL_MAX_EXP | наибольшее положительное целое число, при котором FLT_RADIX в степени на единицу меньше этого числа является представимым конечным значением типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_MAX_10_EXPDBL_MAX_10_EXPLDBL_MAX_10_EXP | наибольшее положительное целое число, при котором 10 в этой степени является представимым конечным значением типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_MAXDBL_MAXLDBL_MAX | наибольшее конечное значение типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_EPSILONDBL_EPSILONLDBL_EPSILON | разность между 1.0 и следующим представимым значением для типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_MINDBL_MINLDBL_MIN | наименьшее нормализованное положительное значение типов float, double и longdouble соответственно (константа-макрос) |
|
FLT_TRUE_MINDBL_TRUE_MINLDBL_TRUE_MIN
(C++17) | наименьшее положительное значение типов float, double и longdouble соответственно (константа-макрос) |
Специальные значения (начиная с C++26) |
|
|
(C++11) | вычисляется как положительная бесконечность (если существует) (константа-макрос) |
|
(C++11) | вычисляется как тихое NaN типа float (если существует) (константа-макрос) |
|
(C++26) | вычисляется как сигнальное NaN типов float, double и longdouble соответственно (если существует) (константа-макрос) |
Обзор
// all freestanding #define __STDC_VERSION_FLOAT_H__ 202311L #define FLT_ROUNDS /* see description */ #define FLT_EVAL_METHOD /* see description */ #define FLT_RADIX /* see description */ #define INFINITY /* see description */ #define NAN /* see description */ #define FLT_SNAN /* see description */ #define DBL_SNAN /* see description */ #define LDBL_SNAN /* see description */ #define FLT_MANT_DIG /* see description */ #define DBL_MANT_DIG /* see description */ #define LDBL_MANT_DIG /* see description */ #define FLT_DECIMAL_DIG /* see description */ #define DBL_DECIMAL_DIG /* see description */ #define LDBL_DECIMAL_DIG /* see description */ #define FLT_DIG /* see description */ #define DBL_DIG /* see description */ #define LDBL_DIG /* see description */ #define FLT_MIN_EXP /* see description */ #define DBL_MIN_EXP /* see description */ #define LDBL_MIN_EXP /* see description */ #define FLT_MIN_10_EXP /* see description */ #define DBL_MIN_10_EXP /* see description */ #define LDBL_MIN_10_EXP /* see description */ #define FLT_MAX_EXP /* see description */ #define DBL_MAX_EXP /* see description */ #define LDBL_MAX_EXP /* see description */ #define FLT_MAX_10_EXP /* see description */ #define DBL_MAX_10_EXP /* see description */ #define LDBL_MAX_10_EXP /* see description */ #define FLT_MAX /* see description */ #define DBL_MAX /* see description */ #define LDBL_MAX /* see description */ #define FLT_EPSILON /* see description */ #define DBL_EPSILON /* see description */ #define LDBL_EPSILON /* see description */ #define FLT_MIN /* see description */ #define DBL_MIN /* see description */ #define LDBL_MIN /* see description */ #define FLT_TRUE_MIN /* see description */ #define DBL_TRUE_MIN /* see description */ #define LDBL_TRUE_MIN /* see description */
См. также
| Документация C о пределах типов с плавающей точкой |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/header/cfloat