Travailler Avec des Nombres à Virgule Flottante
Les nombres ne se terminent pas avec des entiers. Il existe également des nombres à virgule flottante. En C++, nous utilisons les types de données float et double pour les stocker. Ce chapitre couvrira le type de données float, tandis que le suivant traitera du type de données double et de ses distinctions. Voici la syntaxe pour l'utilisation de float :
float.h
1float num = 0.45;
Jetons un coup d'œil rapide à la façon dont les nombres à virgule flottante sont stockés en mémoire.
Le type de données float occupe 4 octets de mémoire, tout comme un int. Cependant, convertir ces nombres en code binaire est beaucoup plus complexe :
Voici un exemple de la façon dont float num = 13.45 serait stocké :
Il est normal de ne pas comprendre entièrement ce qui se passe ici. L'important à noter est que la représentation d'un float est divisée en 3 parties :
-
le composant signe est représenté par un symbole plus (
+) ou moins (-). Il indique si un nombre est positif ou négatif ; -
le composant exposant détermine l'étendue qu'un nombre peut représenter. Plus l'exposant est grand, plus l'étendue des valeurs représentables est large. Pour le type de données
float, l'exposant occupe 1 octet (8 bits) de mémoire ; -
le composant mantisse détermine la précision d'un
float. Tous les nombres ne peuvent pas être représentés exactement en mémoire, et la précision d'un nombre est définie par la longueur de la mantisse. Pour le type de donnéesfloat, la longueur de la mantisse est de 23 bits.
En conséquence, float a une précision de 7 chiffres décimaux et une plage de 1.2e-38 à 3.4e+38 (s'applique aux nombres négatifs et positifs). Donc, la plupart du temps, la plage n'est pas un problème. Mais la précision l'est parfois.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain more about the difference between float and double?
What does it mean that float has a precision of 7 decimal digits?
Why is precision sometimes a problem with floating-point numbers?
Awesome!
Completion rate improved to 4.35
Travailler Avec des Nombres à Virgule Flottante
Glissez pour afficher le menu
Les nombres ne se terminent pas avec des entiers. Il existe également des nombres à virgule flottante. En C++, nous utilisons les types de données float et double pour les stocker. Ce chapitre couvrira le type de données float, tandis que le suivant traitera du type de données double et de ses distinctions. Voici la syntaxe pour l'utilisation de float :
float.h
1float num = 0.45;
Jetons un coup d'œil rapide à la façon dont les nombres à virgule flottante sont stockés en mémoire.
Le type de données float occupe 4 octets de mémoire, tout comme un int. Cependant, convertir ces nombres en code binaire est beaucoup plus complexe :
Voici un exemple de la façon dont float num = 13.45 serait stocké :
Il est normal de ne pas comprendre entièrement ce qui se passe ici. L'important à noter est que la représentation d'un float est divisée en 3 parties :
-
le composant signe est représenté par un symbole plus (
+) ou moins (-). Il indique si un nombre est positif ou négatif ; -
le composant exposant détermine l'étendue qu'un nombre peut représenter. Plus l'exposant est grand, plus l'étendue des valeurs représentables est large. Pour le type de données
float, l'exposant occupe 1 octet (8 bits) de mémoire ; -
le composant mantisse détermine la précision d'un
float. Tous les nombres ne peuvent pas être représentés exactement en mémoire, et la précision d'un nombre est définie par la longueur de la mantisse. Pour le type de donnéesfloat, la longueur de la mantisse est de 23 bits.
En conséquence, float a une précision de 7 chiffres décimaux et une plage de 1.2e-38 à 3.4e+38 (s'applique aux nombres négatifs et positifs). Donc, la plupart du temps, la plage n'est pas un problème. Mais la précision l'est parfois.
Merci pour vos commentaires !