English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

tutoriel de base du langage C

contrôle de flux du langage C

Fonctions en C

Tableaux en C

Pointeurs en C

Chains de caractères en C

structure du langage C

fichier du langage C

Autres C

manuel de référence du langage C

Bibliothèque standard <float.h> en C

de la bibliothèque standard C float.h Le fichier d'en-tête contient un ensemble de constantes dépendantes de la plateforme liées aux valeurs flottantes. Ces constantes ont été proposées par l'ANSI C, ce qui rend les programmes plus portables. Avant d'expliquer ces constantes, il est préférable de comprendre que les nombres flottants sont composés des quatre éléments suivants :

composantdescription du composant
Sle symbole ( +/- )
ble nombre de base exprimé par l'exponentiel,2 représentée en binaire,10 représentée en décimal,16 représentée en hexadécimal, etc...
eexponentielle, une valeur comprise entre la valeur minimale emin et la valeur maximale emax entiers entre
pprécision, le nombre de chiffres significatifs de la base b

basé sur ce qui précède 4 composants, une valeur en virgule flottante telle que :

flottant-point = ( S ) p x be

ou}}

flottant-point = (+/-) précision x baseexponent

Macros de bibliothèque

Les valeurs suivantes sont spécifiques à l'implémentation et sont définies par l'instruction #define, et ces valeurs ne doivent pas être inférieures aux valeurs indiquées ci-dessous. Veuillez noter que tous les exemples FLT font référence au type float, DBL au type double, et LDBL au type long double.

MacroDescription
FLT_ROUNDSDéfinit le mode d'arrondi de l'addition flottante, qui peut être l'un des valeurs suivantes :
  • -1 - Indéterminé

  • 0 - Se rapproche de zéro

  • 1 - Arrondi au plus proche

  • 2 - Se rapproche de l'infini positif

  • 3 - Se rapproche de l'infini négatif

FLT_RADIX 2Cette macro définit la base pour l'exponentiel représenté. 2 Représente en binaire, base 10 Représente en décimal, base 16 Représente en hexadécimal.

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

Ces macros définissent le nombre de chiffres dans le radix FLT_RADIX.

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

Ces macros définissent la valeur maximale décimale qui ne change pas après arrondi (base 10)

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

Ces macros définissent la valeur minimale entière négative de l'exponentiel pour la base FLT_RADIX.

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

Ces macros définissent la base pour l'exponentiel. 10 La valeur minimale entière négative de l'exponentiel.

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

Ces macros définissent la valeur maximale entière de l'exponentiel pour la base FLT_RADIX.

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

Ces macros définissent la base pour l'exponentiel. 10 La valeur maximale entière de l'exponentiel.

FLT_MAX 1E+37

DBL_MAX 1E+37

LDBL_MAX 1E+37

Ces macros définissent la valeur maximale flottante finie.

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

Ces macros définissent la plus petite valeur significative représentable.

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

Ces macros définissent la valeur minimale flottante.

Exemple en ligne

L'exemple suivant montre l'utilisation de certaines constantes définies dans le fichier float.h.

#include <stdio.h>
#include <float.h>
int main()
{
   printf("La valeur maximale de float = %.10E\n", FLT_MAX);
   printf("La valeur minimale de float = %.10e\n", FLT_MIN);
   printf("Le nombre de chiffres = %.10e\n", FLT_MANT_DIG);
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant :

La valeur maximale de float = 3.4028234664e+38
La valeur minimale de float = 1.1754943508e-38
Le nombre de chiffres de number = 7.2996655210e-312