Programmer en langage C
20
© Éditions Eyrolles
3 Les types flottants
3.1 Les différents types et leur représentation en mémoire
Les types flottants permettent de représenter, de manière approchée, une partie des nombres
réels. Pour ce faire, ils s’inspirent de la notation scientifique (ou exponentielle) bien connue
qui consiste à écrire un nombre sous la forme 1.5 10 22 ou 0.472 10 -8 ; dans une telle notation,
on nomme « mantisses » les quantités telles que 1.5 ou 0.472 et « exposants » les quantités
telles que 22 ou -8.
Plus précisément, un nombre réel sera représenté en flottant en déterminant deux quantités M
(mantisse) et E (exposant) telles que la valeur
M . B E
représente une approximation de ce nombre. La base B est généralement unique pour une
machine donnée (il s’agit souvent de 2 ou de 16) et elle ne figure pas explicitement dans la
représentation machine du nombre.
Le C prévoit trois types de flottants correspondant à des tailles différentes : float, double
et long double. La connaissance des caractéristiques exactes du système de codage n’est
généralement pas indispensable, sauf lorsque l’on doit faire une analyse fine des erreurs de
calcul. En revanche, il est important de noter que de telles représentations sont caractérisées
par deux éléments :
●
la précision : lors du codage d’un nombre décimal quelconque dans un type flottant, il est
nécessaire de ne conserver qu’un nombre fini de bits. Or la plupart des nombres s’exprimant avec un nombre limité de décimales ne peuvent pas s’exprimer de façon exacte dans
un tel codage. On est donc obligé de se limiter à une représentation approchée en faisant ce
que l’on nomme une erreur de troncature. Quelle que soit la machine utilisée, on est assuré
que cette erreur (relative) ne dépassera pas 10 -6 pour le type float et 10 -10 pour le type
long double.
●
le domaine couvert, c’est-à-dire l’ensemble des nombres représentables à l’erreur de troncature près. Là encore, quelle que soit la machine utilisée, on est assuré qu’il s’étendra au
moins de 10 -37 à 10 +37 .
3.2 Notation des constantes flottantes
Comme dans la plupart des langages, les constantes flottantes peuvent s’écrire indifféremment
suivant l’une des deux notations :
●
décimale,
●
exponentielle.
Delannoy Livre.book Page 20 Mercredi, 6. mai 2009 4:26 16
Précédent

- 33/281

Suivant