Livre_silo 30 août 2013 16:32 Page 45
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
45
2 – Représentation des nombres
5 Étant donnés deux entiers relatifs x et y, pour évaluer le test x < y, il suffit en théorie de calculer x − y
et d’observer le signe du résultat ; cependant, les dépassements de capacité faussent cette procédure
puisqu’ils donnent à certains résultats des signes opposés à celui attendu. Il est cependant relativement
facile de corriger ce problème. On appelle N le bit de signe du résultat apparent (calculé par la machine)
de x − y : on aura donc N = 1 si ce résultat est négatif (voir exercice 2.31). On appelle V un bit égal
à 1 si et seulement si le calcul de x − y a donné lieu à un dépassement (voir exercice 2.35 pour la
détermination de V ). Déterminer une expression en fonction de N et de V qui vaut 1 si et seulement
si x < y.
2.3 Représentation des nombres à virgule
2.3.1 L’arithmétique flottante
La notation binaire permet aussi de représenter des nombres à virgule. En notation décimale, les chiffres à gauche de la virgule représentent des unités, des dizaines, des centaines,
etc. et ceux à droite de la virgule, des dixièmes, des centièmes, des millièmes, etc. De même,
en binaire, les chiffres à droite de la virgule représentent des demis, des quarts, des huitièmes, des seizièmes, etc. Par exemple, le nombre un et un quart s’écrit 1, 01. Toutefois,
cette manière de faire ne permet pas de représenter des nombres très grands ou très petits
comme le nombre d’Avogadro ou la constante de Planck. On utilise donc une autre représentation similaire à la « notation scientifique » des calculatrices, sauf qu’elle est en base
deux plutôt qu’ en base dix et définie dans la norme IEEE 754. Un nombre est représenté
sous la forme sm2
n où s est le signe du nombre, n son exposant et m sa mantisse. Le signe
est + ou -, l’exposant est un entier relatif et la mantisse est un nombre à virgule, compris
entre 1 inclus et 2 exclu.
Quand on utilise 64 bits pour représenter un nombre à virgule, on utilise 1 bit pour le
signe, 11 bits pour l’exposant et 52 bits pour la mantisse.
• Le signe + est représenté par 0 et le signe − par 1.
• L’exposant n est un entier relatif compris entre −1 022 et 1 023 ; on le représente comme
l’entier naturel n + 1 023, qui est compris entre 1 et 2 046. Les deux entiers naturels 0
et 2 047 sont réservés pour des situations exceptionnelles (+∞, −∞, NaN, etc.), comme
on va le voir ci-après.
• La mantisse m est un nombre binaire à virgule compris entre 1 inclus et 2 exclu, comprenant 52 chiffres après la virgule. Comme cette mantisse est comprise entre 1 et 2,
elle a toujours le seul chiffre 1 avant la virgule ; il est donc inutile de le représenter et
on utilise les 52 bits pour représenter les 52 chiffres après la virgule, ce qui donne une
mantisse dont la précision réelle est de 53 bits.
Les nombres représentés sous cette forme sont appelés nombres à virgule flottante, puisque
la virgule de la mantisse peut être « déplacée » par le biais de l’exposant.
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
45
2 – Représentation des nombres
5 Étant donnés deux entiers relatifs x et y, pour évaluer le test x < y, il suffit en théorie de calculer x − y
et d’observer le signe du résultat ; cependant, les dépassements de capacité faussent cette procédure
puisqu’ils donnent à certains résultats des signes opposés à celui attendu. Il est cependant relativement
facile de corriger ce problème. On appelle N le bit de signe du résultat apparent (calculé par la machine)
de x − y : on aura donc N = 1 si ce résultat est négatif (voir exercice 2.31). On appelle V un bit égal
à 1 si et seulement si le calcul de x − y a donné lieu à un dépassement (voir exercice 2.35 pour la
détermination de V ). Déterminer une expression en fonction de N et de V qui vaut 1 si et seulement
si x < y.
2.3 Représentation des nombres à virgule
2.3.1 L’arithmétique flottante
La notation binaire permet aussi de représenter des nombres à virgule. En notation décimale, les chiffres à gauche de la virgule représentent des unités, des dizaines, des centaines,
etc. et ceux à droite de la virgule, des dixièmes, des centièmes, des millièmes, etc. De même,
en binaire, les chiffres à droite de la virgule représentent des demis, des quarts, des huitièmes, des seizièmes, etc. Par exemple, le nombre un et un quart s’écrit 1, 01. Toutefois,
cette manière de faire ne permet pas de représenter des nombres très grands ou très petits
comme le nombre d’Avogadro ou la constante de Planck. On utilise donc une autre représentation similaire à la « notation scientifique » des calculatrices, sauf qu’elle est en base
deux plutôt qu’ en base dix et définie dans la norme IEEE 754. Un nombre est représenté
sous la forme sm2
n où s est le signe du nombre, n son exposant et m sa mantisse. Le signe
est + ou -, l’exposant est un entier relatif et la mantisse est un nombre à virgule, compris
entre 1 inclus et 2 exclu.
Quand on utilise 64 bits pour représenter un nombre à virgule, on utilise 1 bit pour le
signe, 11 bits pour l’exposant et 52 bits pour la mantisse.
• Le signe + est représenté par 0 et le signe − par 1.
• L’exposant n est un entier relatif compris entre −1 022 et 1 023 ; on le représente comme
l’entier naturel n + 1 023, qui est compris entre 1 et 2 046. Les deux entiers naturels 0
et 2 047 sont réservés pour des situations exceptionnelles (+∞, −∞, NaN, etc.), comme
on va le voir ci-après.
• La mantisse m est un nombre binaire à virgule compris entre 1 inclus et 2 exclu, comprenant 52 chiffres après la virgule. Comme cette mantisse est comprise entre 1 et 2,
elle a toujours le seul chiffre 1 avant la virgule ; il est donc inutile de le représenter et
on utilise les 52 bits pour représenter les 52 chiffres après la virgule, ce qui donne une
mantisse dont la précision réelle est de 53 bits.
Les nombres représentés sous cette forme sont appelés nombres à virgule flottante, puisque
la virgule de la mantisse peut être « déplacée » par le biais de l’exposant.
