Namespaces
Variants

Standard library header <float.h>

From cppreference.net

Cet en-tête fait partie de la bibliothèque de support des types , en particulier de son interface des limites numériques .

Macros

FLT_RADIX
le radix (base entière) utilisé par la représentation des trois types de nombres à virgule flottante
(constante macro)
DECIMAL_DIG
(C99)
conversion de long double vers décimal avec au moins DECIMAL_DIG chiffres et retour vers long double est une conversion identité : c'est la précision décimale requise pour sérialiser/désérialiser un long double
(constante macro)
FLT_DECIMAL_DIG DBL_DECIMAL_DIG LDBL_DECIMAL_DIG
(C11)
conversion de float / double / long double en décimal avec au moins FLT_DECIMAL_DIG / DBL_DECIMAL_DIG / LDBL_DECIMAL_DIG chiffres et retour est une conversion identité : c'est la précision décimale requise pour sérialiser/désérialiser une valeur à virgule flottante. Défini à au moins 6 , 10 , et 10 respectivement, ou 9 pour float IEEE et 17 pour double IEEE (voir aussi l'analogue C++ : max_digits10 )
(constante macro)
FLT_MIN DBL_MIN LDBL_MIN
valeur normalisée positive minimale de float , double et long double respectivement
(constante macro)
FLT_TRUE_MIN DBL_TRUE_MIN LDBL_TRUE_MIN
(C11)
valeur positive minimale de float , double et long double respectivement
(constante macro)
FLT_MAX DBL_MAX LDBL_MAX
valeur finie maximale de float , double et long double respectivement
(constante macro)
FLT_EPSILON DBL_EPSILON LDBL_EPSILON
différence absolue entre 1.0 et la valeur représentable suivante pour float , double et long double respectivement
(constante macro)
FLT_DIG DBL_DIG LDBL_DIG
nombre de chiffres décimaux garantis d'être préservés dans la conversion texte → float / double / long double → texte sans modification due à l'arrondi ou au dépassement (voir l'analogue C++ digits10 pour les détails)
(constante macro)
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG
nombre de chiffres en base FLT_RADIX contenus dans la mantisse des nombres à virgule flottante et pouvant être représentés sans perte de précision pour float , double et long double respectivement
(constante macro)
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP
entier négatif minimal tel que FLT_RADIX élevé à la puissance un de moins que cet entier soit un float , double et long double normalisé respectivement
(constante macro)
FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP
entier négatif minimum tel que 10 élevé à cette puissance est un float normalisé, un double et un long double respectivement
(constante macro)
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP
entier positif maximum tel que FLT_RADIX élevé à la puissance de cet entier moins un est un nombre fini représentable float , double et long double respectivement
(constante macro)
FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP
entier positif maximum tel que 10 élevé à cette puissance est un float , double et long double fini représentable respectivement
(constante macro)
mode d'arrondi de l'arithmétique en virgule flottante
(constante macro)
spécifie la précision dans laquelle toutes les opérations arithmétiques sont effectuées
(constante macro)
FLT_HAS_SUBNORM DBL_HAS_SUBNORM LDBL_HAS_SUBNORM
(C11) (obsolète en C23)
indique si le type prend en charge les nombres sous-normaux ( dénormalisés ) :
- 1 – indéterminable, 0 – absent, 1 – présent
(constante macro)

Synopsis

#define FLT_ROUNDS           /* voir la définition */
#define FLT_EVAL_METHOD      /* voir la définition */
#define FLT_HAS_SUBNORM      /* voir la définition */
#define DBL_HAS_SUBNORM      /* voir la définition */
#define LDBL_HAS_SUBNORM     /* voir la définition */
#define FLT_RADIX            /* voir la définition */
#define FLT_MANT_DIG         /* voir la définition */
#define DBL_MANT_DIG         /* voir la définition */
#define LDBL_MANT_DIG        /* voir la définition */
#define FLT_DECIMAL_DIG      /* voir la définition */
#define DBL_DECIMAL_DIG      /* voir la définition */
#define LDBL_DECIMAL_DIG     /* voir la définition */
#define DECIMAL_DIG          /* voir la définition */
#define FLT_DIG              /* voir la définition */
#define DBL_DIG              /* voir la définition */
#define LDBL_DIG             /* voir la définition */
#define FLT_MIN_EXP          /* voir la définition */
#define DBL_MIN_EXP          /* voir la définition */
#define LDBL_MIN_EXP         /* voir la définition */
#define FLT_MIN_10_EXP       /* voir la définition */
#define DBL_MIN_10_EXP       /* voir la définition */
#define LDBL_MIN_10_EXP      /* voir la définition */
#define FLT_MAX_EXP          /* voir la définition */
#define DBL_MAX_EXP          /* voir la définition */
#define LDBL_MAX_EXP         /* voir la définition */
#define FLT_MAX_10_EXP       /* voir la définition */
#define DBL_MAX_10_EXP       /* voir la définition */
#define LDBL_MAX_10_EXP      /* voir la définition */
#define FLT_MAX              /* voir la définition */
#define DBL_MAX              /* voir la définition */
#define LDBL_MAX             /* voir la définition */
#define FLT_EPSILON          /* voir la définition */
#define DBL_EPSILON          /* voir la définition */
#define LDBL_EPSILON         /* voir la définition */
#define FLT_MIN              /* voir la définition */
#define DBL_MIN              /* voir la définition */
#define LDBL_MIN             /* voir la définition */
#define FLT_TRUE_MIN         /* voir la définition */
#define DBL_TRUE_MIN         /* voir la définition */
#define LDBL_TRUE_MIN        /* voir la définition */