next up previous contents
Next: Le type complexe (COMPLEX) Up: Les types Previous: Le type entier (INTEGER)   Contents

Le type réel (REAL)

Les nombres réels sont représentés de fraçon approximative en mémoire (représentation en virgule flottante), avec la convention standardisée de la forme $ m\times 2^e$, où $ m$ est la mantisse $ 1\leq m \leq 2$ et $ e$ l'exposant.

On utilise $ p$ chiffres binaires pour les décimaux binaires de $ m$ et $ q$ chiffres binaires pour l'exposant.

Représentation en simple précision. Sur 32 bits (4 octets), on a $ p=23$, $ q=8$ (1 bit pour le signe) ce qui permet de représenter des nombres compris, en valeur absolue, entre $ 2^{-128}\approx 10^{-38}$ et $ 2^{128}\approx 10^{38}$ car $ 128=2^{q} = 2^8$. La précision machine est de 7 chiffres décimaux significatifs car $ 2^{23}= 10^7$.

Représentation en double précision. Sur 64 bits (8 octets), on a $ p=52$, $ q=11$ et les réels en valeur absolue appartienent $ [2^{-1024},2^{1024}]
\approx [10^{-308},10^{308}] $ avec 15 chiffres décimaux significatifs (car $ 2^{52}\approx 10^{15}$).

Déclaration : simple ou double précision .

       real  :: x, y, z                        ! simple precision
       real (kind=8) :: xd, yd, zd             ! double  precision
       x = 1. ; y = -0.1 ; z = 3.143546        ! notation flottante 
       x = 1.E-1 ; y = 523.56e16 ; z = 2.4E0   ! notation exponentielle 
       xd = 1.D-1 ; yd = 523.56d56 ; zd = 2.4D0
La notation ( E ) est simple precision et on remplace E par D pour la double precision.



Mazen Saad 2002-12-12