MANUEL
DE
CALCUL
NUMÉRIQUE
APPLIQUÉ
nombre en machine, il nous faut parler des nombres normalisés qui permettent d’optimiser la
représentation. Un nombre, quel qu’il soit, s’exprime soit dans le vocabulaire écrit courant, soit
au moyen d’une représentation symbolique écrite dans une base donnée (à l’aide de chiffres) ;
c’est évidemment la seconde option qui est utilisée pour représenter l’information codée. Ceci
peut apparaître comme une évidence, il n’en est rien; pour s’en convaincre il suffit d’écrire
deux nombres en chiffres romains et d’en effectuer la division. On s’aperçoit sans difficulté que
l’écriture en chiffres romains n’est pas bien adaptée à la réalisation effective de cette opération.
Un nombre peut toujours être représenté dans une base B quelconque selon l’expression :
N = ” /lnBn avec {Bk} = (0, 1, 2,. . (B - 1)).
n=TlLl
On remarque que mi et rn2 sont des nombres entiers finis dès qu’il s’agit de calculs effectifs
(positifs, négatifs ou nuls). On peut encore écrire :
Cette dernière représentation est dite normalisée à condition toutefois d’avoir ,&, # 0.
Comme la base n’a pas besoin d’être explicitement exprimée, on écrira N sous la forme :
N = (0, Pm-2 Pm2-1.. . Pm, ; m2 + l},
la suite ordonnée des & s’appelle la mantisse tandis que la puissance de la base s’appelle
l’exposant. Il s’agit donc d’une représentation semi-logarithmique particulière dans la mesure
où le premier chiffre significatif est différent de zéro. Sa raison d’être s’explique par la recherche
d’une représentation optimum qui permet d’occuper la place mémoire la plus petite. Pour ce
faire, on stocke uniquement la mantisse et l’exposant ; la base est une donnée implicite qui n’est
pas stockée avec le nombre mais qui est évidemment indispensable pour effectuer les calculs.
a - Une représentation des nombres flottants sur quatre octets - C’est une représentation
qui a été fréquemment retenue par les constructeurs de grosses machines dans les années 60,
aussi mérite-t-elle qu’on s’y attarde un peu. Le mot-machine est constitué de quatre octets
numérotés de gauche à droite de 1 à 4, et la base implicite est 16.
Les chiffres utilisés sont donc les symboles hexadécimaux 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, F; chacun de ces symboles peut être codé en binaire sur un demi-octet, car un chiffre
hexadécimal se code sur quatre bits.
Par convention, la mantisse s’exprime sur les octets 2, 3 et 4, ce qui limite la représentation à
6 chiffres hexadécimaux. Comme les nombres sont normalisés, le premier demiioctet de l’octet
2 doit être différent de zéro.
L’octet 1 contient le signe du nombre dans le premier bit et l’exposant dans les sept bits
suivants. Comme précédemment le signe plus est codé par un 0 et le signe moins par un 1
(premier bit).
Pour ce qui concerne l’exposant, on pourrait concevoir une représentation entière affectée
d’un signe puisque les exposants peuvent être négatifs ou positifs. Ce n’est généralement pas la
solution retenue. Comme on peut représenter 128 configurations possibles sur les 7 bits affectés
à l’exposant, la convention veut que les configurations comprises entre 0 et 64 soient attribuées
aux exposants négatifs (et l’exposant nul) et les configurations comprises entre 65 et 127 aux
exposants positifs. En définitive, il suffit d’ajouter 64 à l’exposant avant de procéder au stockage.
28
Précédent

- 26/556

Suivant