Représentation binaire d’un entier relatif
Dans la leçon précédente, nous avons vu comment représenter des entiers positifs (naturels). Cependant, un ordinateur doit aussi pouvoir manipuler des nombres négatifs. On parle alors d'entiers relatifs (ensemble ℤ).
Un entier relatif est un nombre entier qui peut être soit positif, soit négatif. Pour les stocker en machine, il faut définir une méthode pour représenter le signe (+ ou -) en utilisant uniquement des 0 et des 1.
I. La problématique du signe : Le bit de poids fort
La méthode la plus simple consiste à réserver le premier bit (celui de gauche, appelé bit de poids fort ou MSB) pour représenter le signe :
0pour un nombre positif.1pour un nombre négatif.
Le nombre +3 s'écrit 0011.
Le nombre -3 s'écrit 1011.
II. La méthode du Complément à deux
Le complément à deux est la méthode standard utilisée par les processeurs modernes. Elle permet d'effectuer des calculs arithmétiques sans circuit spécifique pour la soustraction.
Il s'agit d'une opération mathématique qui consiste à inverser les bits d'un nombre positif (complément à un) puis à ajouter 1 au résultat pour obtenir son équivalent négatif.
1. Valeur absolue (5) en binaire : 0000 0101
2. Inversion des bits (NOT) : 1111 1010
3. Ajouter 1 : 1111 1010 + 1 = 1111 1011
Le nombre -5 est donc codé 1111 1011.
III. Étendue de la représentation
Le nombre de bits définit l'intervalle des nombres que l'on peut stocker. Si l'on travaille sur n bits, l'intervalle est de : [-2n-1 ; 2n-1 - 1]
Plus petit nombre : -27 = -128
Plus grand nombre : 27 - 1 = 127
Une erreur d'overflow survient lorsque le résultat d'un calcul dépasse la valeur maximale ou minimale que le nombre de bits alloué peut contenir, ce qui produit un résultat mathématiquement faux.
IV. Pourquoi utiliser le complément à deux ?
L'intérêt majeur est que l'opération A - B est traitée par la machine comme une addition : A + (-B). Cela simplifie grandement la conception électronique des processeurs.