Travail Avec les Nombres à Virgule Flottante
Glissez pour afficher le menu
Les nombres ne se limitent pas aux entiers. Il existe également des nombres à virgule flottante. En C++, on utilise les types de données float et double pour les stocker. Ce chapitre traitera du type de donnée float, tandis que le suivant abordera le type double et ses différences. Voici la syntaxe pour l'utilisation de float :
float.h
1float num = 0.45;
Examinons rapidement comment les nombres à virgule flottante sont stockés en mémoire.
Le type de donnée float occupe 4 octets de mémoire, tout comme un int. Cependant, la conversion de ces nombres en code binaire est bien plus complexe :
Voici un exemple de la manière dont float num = 13.45 serait stocké :
Il n'est pas nécessaire de tout comprendre parfaitement à ce stade. L'élément essentiel à retenir est que la représentation d'un float est divisée en 3 parties :
-
la composante signe est représentée par un symbole plus (
+) ou moins (-). Elle indique si un nombre est positif ou négatif ; -
la composante exposant détermine l'étendue des valeurs qu'un nombre peut représenter. Plus l'exposant est grand, plus l'intervalle de valeurs représentables est large. Pour le type de données
float, l'exposant occupe 1 octet (8 bits) de mémoire ; -
la composante 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 possède une précision de 7 chiffres décimaux et une plage de 1.2e-38 à 3.4e+38 (valable pour les nombres négatifs et positifs). Ainsi, la plage n'est généralement pas un problème. Cependant, la précision peut parfois l'être.
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