#include <float.h> // <cfloat> en C++
Les types _Decimal32, _Decimal64 et _Decimal128 sont optionnels. Une implémentation ne
fournit les macros suivantes que si elle définit __STDC_IEC_60559_DFP__. Ils sont utiles pour certains calculs
financiers ou réglementaires où une base décimale évite des surprises liées aux approximations binaires.
DEC_INFINITY et DEC_NAN via <float.h> est
obsolescente. Pour ces deux macros, le standard recommande de passer par <math.h>.
| Macro | Rôle |
|---|---|
DEC_EVAL_METHOD (C23) |
Méthode d'évaluation des expressions de types flottants décimaux. |
DEC_INFINITY (C23) |
Infini positif de type _Decimal32. |
DEC_NAN (C23) |
NaN silencieux de type _Decimal32. |
DEC32_MANT_DIG (C23) |
Nombre de chiffres du coefficient pour _Decimal32. |
DEC64_MANT_DIG (C23) |
Nombre de chiffres du coefficient pour _Decimal64. |
DEC128_MANT_DIG (C23) |
Nombre de chiffres du coefficient pour _Decimal128. |
DEC32_MIN_EXP (C23) |
Exposant minimal pour _Decimal32. |
DEC64_MIN_EXP (C23) |
Exposant minimal pour _Decimal64. |
DEC128_MIN_EXP (C23) |
Exposant minimal pour _Decimal128. |
DEC32_MAX_EXP (C23) |
Exposant maximal pour _Decimal32. |
DEC64_MAX_EXP (C23) |
Exposant maximal pour _Decimal64. |
DEC128_MAX_EXP (C23) |
Exposant maximal pour _Decimal128. |
DEC32_MAX (C23) |
Plus grande valeur finie de _Decimal32. |
DEC64_MAX (C23) |
Plus grande valeur finie de _Decimal64. |
DEC128_MAX (C23) |
Plus grande valeur finie de _Decimal128. |
DEC32_EPSILON (C23) |
Ecart autour de 1 pour _Decimal32. |
DEC64_EPSILON (C23) |
Ecart autour de 1 pour _Decimal64. |
DEC128_EPSILON (C23) |
Ecart autour de 1 pour _Decimal128. |
DEC32_MIN (C23) |
Plus petite valeur positive normalisée de _Decimal32. |
DEC64_MIN (C23) |
Plus petite valeur positive normalisée de _Decimal64. |
DEC128_MIN (C23) |
Plus petite valeur positive normalisée de _Decimal128. |
DEC32_TRUE_MIN (C23) |
Plus petite valeur positive de _Decimal32, subnormale comprise. |
DEC64_TRUE_MIN (C23) |
Plus petite valeur positive de _Decimal64, subnormale comprise. |
DEC128_TRUE_MIN (C23) |
Plus petite valeur positive de _Decimal128, subnormale comprise. |
DEC32_SNAN (C23) |
NaN signalant de type _Decimal32. |
DEC64_SNAN (C23) |
NaN signalant de type _Decimal64. |
DEC128_SNAN (C23) |
NaN signalant de type _Decimal128. |
Le programme suivant montre la forme d'un test portable avant d'utiliser les macros décimales.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <float.h> #include <stdio.h> int main() { #ifdef __STDC_IEC_60559_DFP__ printf( "DEC32_MANT_DIG == %d\n", DEC32_MANT_DIG ); printf( "DEC64_MANT_DIG == %d\n", DEC64_MANT_DIG ); #else puts( "Les flottants decimaux ne sont pas disponibles." ); #endif return 0; } |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :