23Fermer25
ZerosquareLe 30/11/2013 à 17:25
./22 : c'est un peu plus subtil que ça. En fait, c'est le même principe que la notation scientifique.

Par exemple, pour représenter 12345.6, la notation scientifique c'est 1.23456 x 104 : la partie entière est toujours comprise entre 1 et 9, et on multiplie par une puissance de 10 (l'exposant) pour compenser.

En virgule flottante binaire, c'est pareil, sauf que :
- on utilise des puissances de 2. Conséquence : à part pour la valeur zéro, la partie entière est comprise entre 1 et 1, donc elle vaut 1, du coup on n'a pas besoin de la stocker.
- la partie décimale a un nombre fixe de bits, ce qui revient à stocker un nombre fixe de chiffres après la virgule.
- idem pour l'exposant : le nombre de bits est fixe, donc il a un minimum et un maximum, ce qui fait qu'on ne peut pas stocker les nombres plus petits/plus grands qu'un certain seuil.

La conséquence de tout ça :
- en virgule fixe, l'écart entre deux nombres représentables est constant, autrement dit l'erreur d'arrondi maximum absolue est constante (c'est précis à 0.xxxx près)
- en virgule fixe, l'écart entre deux nombres représentables est variable et proportionnelle à la grandeur du nombre, autrement dit l'erreur d'arrondi maximum relative est constante (c'est précis à 0.xxxx % près)

(j'ai simplifié certains points, mais le principe est là)