La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Codage des nombres réels avec la norme IEEE-754

Présentations similaires


Présentation au sujet: "Codage des nombres réels avec la norme IEEE-754"— Transcription de la présentation:

1 Codage des nombres réels avec la norme IEEE-754
Numération Codage des nombres réels avec la norme IEEE-754

2 La norme IEEE 754 permet de représenter des nombres à virgule.
On représente les nombres au moyen des symbole suivants : Chiffres : «   » ou « 0 1 » en base 2 Virgule : « , »

3 Nombres à virgule en binaire
En décimal : 0,1 est une autre notation pour 10-1 1,305 peut aussi s’écrire 1* * * *10-3 De la même façon, en binaire : 0,1 est une autre notation pour 2-1 11,101 peut aussi s’écrire 1*21 + 1*20 + 1* * *2-3 = / /8 Si l’on fait le calcul, (11,101)2 vaut donc en décimal (3,625)10

4 Conversion décimal -> binaire
Exemple : pour 9,375 9 -> 1001,…. 2-1 -> 0,5 trop grand d’où 1001,0… 2-2 -> 0.25 plus petit 1001,01… 2-3 -> 0,125 c’est bon 1001,011

5 Histoire de IEEE754 Première approche (11010,001101)2
Comment coder la virgule en binaire ? Première approche (11010,001101)2 Les chiffres significatifs ou mantisse Pour savoir ou est la virgule, on répond à la question de combien de chiffre il faut se décaler après le premier chiffre Ici 5 ce nombre représente l’exposant Le codage « naïf» serait donc

6 Histoire de IEEE754 Dans la pratique, c’est légèrement plus compliqué. Pourquoi ? Si on considère le nombre (0, )2. C’est un très petit nombre… Avec la méthode « naïve », ce nombre ne rentre pas sur 8 bits. Les 8 premiers bits seront des 0 il n’y a pas assez de place pour faire rentrer les 1. Il faut donc ignorer les 0 pour ne garder que les chiffres significatifs d’où notre chiffre 1,1*2-11

7 Histoire de IEEE754 En binaire les chiffres commencent ainsi toujours par un « 1 » ce n’est donc pas la peine de le coder dans la mantisse. Définition : la mantisse est l’ensemble des chiffres significatifs situés après la virgule lorsque le nombre est en notation scientifique en binaire.

8 Histoire de IEEE754 Codage de l’exposant :
L’exposant peut donc être positif ou négatif Complément à 1 Complément à 2 ….

9 Avantage Inconvénient Complément à 1 Très simple à coder Nombres positifs signés et non-signés ont la même représentation Comparaison bit a bit impossible Addition avec négatifs nécessite des étapes intermédiaires 2 notations pour le nombre 0 Complément à 2 Calcul identique entre positifs et négatifs (sans décodage) Codage par excès - Comparaison identique entre positifs et négatifs (sans décodage) Les nombres positifs ne signés et non-signés n’ont pas la même représentation

10 Codage par excès Pour coder : 1,1011 * 23 = (13,5)10 avec 5 bits d’exposant et 10 bits de mantisse, On écrit Avec le codage par excès l’exposant devient 10010 Explications : Sur 5 bits, on peut compter de 0 à 31 inclus, ou bien de -15 à 16 00000 étant le plus petit nombre du codage par excès, il correspond à -15. On en déduit que pour 5 bits, le codage par excès s’obtient en additionnant 15 au nombre que l’on veut obtenir

11 Ajout du signe On rajoute un bit devant : (pour des raison de simplicité) Ainsi, le codage de (13,5)10 devient : Ainsi, le codage de (-13,5)10 serait :

12 Les différentes précisions de l’IEEE754
La norme IEEE754 définit 3 formats de précisions. Les deux plus courants sont : Simple précision (float en C) : 8 bits pour l’exposant (excès de 127) et 23 bits de mantisse. (4 octets) Double précision (double en C) : 11 bits pour l’exposant (excès de 1023) et 52 bits de mantisse. (8 octets)

13 Erreur de débordement arithmétique de réel
Pour des nombres trop grand (ex division par 0) Erreur d’arrondi Survient quand un réel théorique à représenter tombe strictement entre deux nombres réels voisins représentables en machine.

14 Conseils d’utilisation
Il ne faut jamais comparer l’égalité stricte de deux réels mais toujours les comparer à epsilon près. Il faut éviter d’additionner des nombres réels d’ordres de grandeur très différents. Il faut éviter de soustraire des résultats entachés d’erreurs et ayant des valeurs voisines.


Télécharger ppt "Codage des nombres réels avec la norme IEEE-754"

Présentations similaires


Annonces Google