Livre_silo 30 août 2013 16:32 Page 39
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
39
2 – Représentation des nombres
2.2 Représentation des entiers relatifs
2.2.1 Notation en complément à deux
Il faut étendre aux entiers relatifs la représentation binaire des entiers naturels.
Une solution consiste à réserver un bit pour le signe de l’entier et à utiliser les autres pour
représenter sa valeur absolue. Ainsi, avec des mots de 16 bits, en utilisant 1 bit pour
le signe et 15 bits pour la valeur absolue, on pourrait représenter les entiers relatifs de
−111 1111 1111 1111 = −(2
15 − 1) = −32 767 à 111 1111 1111 1111 = 2
15 − 1 = 32 767.
Cependant, cette méthode a plusieurs inconvénients, notamment l’existence de deux zéros,
l’un positif et l’autre négatif.
On applique alors une autre méthode, qui consiste à représenter un entier relatif par
un entier naturel. Si on utilise des mots de 16 bits, on peut représenter les entiers relatifs compris entre −32 768 et 32 767 : on représente un entier relatif x positif ou nul
comme l’entier naturel x et un entier relatif x strictement négatif comme l’entier naturel
x + 2
16 = x + 65 536, qui est compris entre 32 768 et 65 535. Ainsi, les entiers naturels
de 0 à 32 767 correspondent aux entiers relatifs positifs ou nuls, à droite sur la figure 2.1 et
les entiers naturels de 32 768 à 65 535 représentent les entiers relatifs strictement négatifs,
à gauche sur cette même figure.
negatifs.pdf
Figure 2.1
Représentation des entiers relatifs en complément à deux
Cette manière de représenter les entiers relatifs s’appelle la notation en complément à deux.
L’entier relatif −1 est représenté comme l’entier naturel 65 535, c’est-à-dire par le mot
1111 1111 1111 1111 (on ne le souligne pas car ici ce n’est pas tout à fait la représentation
d’un nombre en base deux). On notera qu’il reste facile de déterminer le signe d’un entier
représenté sous cette forme : un entier relatif positif ou nul est représenté par un entier
naturel dont le premier bit vaut 0 ; a contrario, un entier relatif strictement négatif est
représenté par un entier naturel dont le premier bit vaut 1.
Précédent

- 52/402

Suivant