Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Objectifs <strong>de</strong> la norme IEEE-754<br />
• permettre <strong>de</strong> faire <strong>de</strong>s programmes portables<br />
• rendre les programmes déterministes d’une machine à une autre<br />
• conserver <strong>de</strong>s propriétés mathématiques<br />
• permettre/imposer l’arrondi correct<br />
• permettre/imposer <strong>de</strong>s conversions fiables<br />
• faciliter la construction <strong>de</strong> preuves<br />
• faciliter la gestion <strong>de</strong>s exceptions<br />
• faciliter les comparaisons (unicité <strong>de</strong> la représentation, sauf pour 0)<br />
• permettre un support pour l’arithmétique d’intervalle<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 29/144<br />
IEEE-754 : mantisse et fraction<br />
La mantisse (normalisée) du nombre <strong>flottant</strong> x est représentée par n + 1<br />
bits :<br />
où les xi sont <strong>de</strong>s bits.<br />
mx = 1 . x1 x2 x3 · · · xn−1 xn<br />
<br />
La partie fractionnaire <strong>de</strong> mx est appelée fraction (<strong>de</strong> n bits) : fx. On a<br />
alors :<br />
On a aussi :<br />
fx<br />
mx = 1 + fx<br />
1 ≤ mx < 2<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 31/144<br />
IEEE-754 : formats <strong>de</strong> base<br />
En base β = 2, la normalisation <strong>de</strong> la mantisse implique que le premier<br />
bit est toujours un “1” qui n’est pas stocké physiquement, on parle <strong>de</strong> 1<br />
implicite.<br />
63<br />
nombre <strong>de</strong> bits<br />
format total signe exposant mantisse<br />
double précision 64 1 11 52 + 1<br />
simple précision 32 1 8 23 + 1<br />
56<br />
48<br />
MSB position <strong>de</strong>s bits<br />
40<br />
32<br />
24<br />
double précision<br />
simple précision<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 30/144<br />
IEEE-754 : exposant<br />
L’exposant ex est un entier signé <strong>de</strong> k bits tel que :<br />
emin ≤ e ≤ emax<br />
Différentes représentations sont possibles : complément à 2, signe et<br />
magnitu<strong>de</strong>, biaisée. C’est la représentation biaisée qui est choisie.<br />
Ceci permet <strong>de</strong> faire les comparaisons entre <strong>flottant</strong>s dans l’ordre<br />
lexicographique (sauf pour le signe sx) et <strong>de</strong> représenter le nombre 0 avec<br />
ex = fx = 0.<br />
L’exposant stocké physiquement est l’exposant biaisé eb tel que :<br />
où b est le biais.<br />
eb = e + b<br />
A. Tisserand – LIRMM, CNRS-UM2 – ARCHI07 – <strong>Unités</strong> <strong>de</strong> <strong>calcul</strong> <strong>flottant</strong> 32/144<br />
16<br />
8<br />
0<br />
LSB