Livre_silo 30 août 2013 16:32 Page 41
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
41
2 – Représentation des nombres
Exercice 2.26 Trouver les représentations décimales des entiers relatifs dont les représentations binaires
sur huit bits sont 00010111 et 10001100.
Le mot 00010111 représente l’entier naturel 23 et donc l’entier relatif 23. Le mot 10001100 représente
l’entier naturel 140 et donc l’entier relatif 140 − 256 = −116.
SAVOIR-FAIRE Calculer la représentation de l’opposé d’un entier relatif
On se place dans le cas où on connaît la représentation p sur huit bits de l’entier relatif
x, et on cherche à calculer la représentation p
′ de son opposé.
Si l’entier relatif x est compris entre 0 et 127, alors il est représenté sur huit bits
par l’entier naturel p = x et son opposé −x est représenté par l’entier naturel
p
′ = −x + 256 = 256 − p. Si l’entier relatif x est compris entre −127 et −1,
alors il est représenté par l’entier naturel p = x + 256 et son opposé −x est représenté
par l’entier naturel p
′ = −x = 256 − p. Donc, sauf quand x = −128 dont l’opposé
n’est pas représentable, si un entier relatif x est représenté par l’entier naturel p, son
opposé −x est représenté par l’entier naturel p
′ = 256 − p = (255 − p) + 1.
Calculer 255 − p = 11111111 − p est facile, puisqu’il suffit, dans la représentation
binaire de p, de remplacer chaque 0 par un 1 et chaque 1 par un 0 (voir l’exercice 2.22).
Il suffit ensuite d’ajouter 1 au nombre obtenu.
Exercice 2.27 Calculer la représentation sur huit bits de l’entier relatif 11, puis celle de son opposé.
L’entier relatif 11 est représenté comme l’entier naturel 11 = 00001011.
Pour calculer la représentation de son opposé, on remplace les 0 par des 1 et les 1 par des 0, ce qui
donne 1111 0100 puis on ajoute 1, ce qui donne 1111 0101. On peut vérifier que ce nombre est bien la
représentation de l’entier relatif −11, c’est-à-dire de l’entier naturel −11 + 256 = 245.
2.2.2 Dépassements de capacité
Puisque les nombres représentables de cette façon sont limités, on peut se demander ce
qui se passe lorsque l’on atteint ces limites. Dans l’exemple de calculs qui suit, on suppose
une représentation des entiers sur 32 bits.
In [1]: a = 260
In [2]: a*a
Out[2]: 67600
In [3]: a*a*a
Out[3]: 17576000
In [4]: a*a*a*a
Out[4]: 4569760000
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
41
2 – Représentation des nombres
Exercice 2.26 Trouver les représentations décimales des entiers relatifs dont les représentations binaires
sur huit bits sont 00010111 et 10001100.
Le mot 00010111 représente l’entier naturel 23 et donc l’entier relatif 23. Le mot 10001100 représente
l’entier naturel 140 et donc l’entier relatif 140 − 256 = −116.
SAVOIR-FAIRE Calculer la représentation de l’opposé d’un entier relatif
On se place dans le cas où on connaît la représentation p sur huit bits de l’entier relatif
x, et on cherche à calculer la représentation p
′ de son opposé.
Si l’entier relatif x est compris entre 0 et 127, alors il est représenté sur huit bits
par l’entier naturel p = x et son opposé −x est représenté par l’entier naturel
p
′ = −x + 256 = 256 − p. Si l’entier relatif x est compris entre −127 et −1,
alors il est représenté par l’entier naturel p = x + 256 et son opposé −x est représenté
par l’entier naturel p
′ = −x = 256 − p. Donc, sauf quand x = −128 dont l’opposé
n’est pas représentable, si un entier relatif x est représenté par l’entier naturel p, son
opposé −x est représenté par l’entier naturel p
′ = 256 − p = (255 − p) + 1.
Calculer 255 − p = 11111111 − p est facile, puisqu’il suffit, dans la représentation
binaire de p, de remplacer chaque 0 par un 1 et chaque 1 par un 0 (voir l’exercice 2.22).
Il suffit ensuite d’ajouter 1 au nombre obtenu.
Exercice 2.27 Calculer la représentation sur huit bits de l’entier relatif 11, puis celle de son opposé.
L’entier relatif 11 est représenté comme l’entier naturel 11 = 00001011.
Pour calculer la représentation de son opposé, on remplace les 0 par des 1 et les 1 par des 0, ce qui
donne 1111 0100 puis on ajoute 1, ce qui donne 1111 0101. On peut vérifier que ce nombre est bien la
représentation de l’entier relatif −11, c’est-à-dire de l’entier naturel −11 + 256 = 245.
2.2.2 Dépassements de capacité
Puisque les nombres représentables de cette façon sont limités, on peut se demander ce
qui se passe lorsque l’on atteint ces limites. Dans l’exemple de calculs qui suit, on suppose
une représentation des entiers sur 32 bits.
In [1]: a = 260
In [2]: a*a
Out[2]: 67600
In [3]: a*a*a
Out[3]: 17576000
In [4]: a*a*a*a
Out[4]: 4569760000
