Représentation numérique de l’information : les entiers relatifs Introduction Addition de deux nombres binaires Pour ajouter deux nombres binaires, on procède comme en base 10 : 3 autre exemple 0011 +1 + 4 3 0001 +3 0100 6 0011 + 0011 0110 Comment représentier les entiers négatifs ? Pour représenter les entiers négatifs (par exemple sur 8 bits), on a d’abord pensé à réserver le bit le plus à gauche ( appelé bit de poids fort) pour le signe ( 0 pour positif et 1 pour négatif). Ainsi on écrirait 0000 0010 = 2 et 1000 0010 = -2 bits de poids fort Malheureusement, l’algorithme d’addition de deux nombres binaires conduirait à une erreur : 3 + (-2) 1 0000 0011 + 1000 0010 1 0 0 0 0 1 0 1 = -5 !! De plus il existerait 2 zéros : 0000 0000 = 0 et 1000 0000 = -0 Pour cette raison, une autre méthode a été choisie. Avec 8 bits, on peut coder 28 = 256 nombres. On peut donc coder 128 nombres « positifs »( de 0 à 127) et 128 nombres négatifs ( de -1 à -128). Sur 8 bits : Si l’entier x est positif ou nul, on le représente comme l’entier naturel x ; Si l’entier x est négatif, on le représente comme l’entier naturel x + 28. Exemples : 125 est positif et compris entre 0 et 127. On le représente comme l’entier naturel 125 : 0111 1101(2) -128 est un nombre négatif compris entre -128 et -1. On le représente comme l’entier naturel -128+28 = 128 : 1000 0000(2). Exercice 1 : Trouver la représentation binaire sur huit bits des entiers 0 et -1. Trouver la représentation binaire sur huit bits des entiers 127 et -127. Sur 8 bits : Si un entier x est donné par un mot binaire m, on commence par calculer l’entier naturel p représenté par ce mot. Si 0 ≤p ≤127 alors l’entier cherché est x est égal à p ; Si 127≤ p ≤ 255 alors l’entier recherché est p – 28 = p – 256. Exemple : Trouver la représentation décimale des entiers relatifs dont les représentations binaires sur 8 bits sont 0000 0111 et 1000 1101 0000 0111 est la représentation de l’entier 7 qui est compris entre 0 et 127. L’entier est donc 7. 1000 1101 est la représentation de l’entier 141 qui est compris entre 127 et 255. C’est donc un nombre négatif égal à 141 – 256 = -115. Exercice 2 : Trouver la représentation décimale des entiers relatifs dont les représentations binaires sur 8 bits sont 0111 1111 et 1000 0001 Si un entier x est représenté par un mot binaire m, on obtient la représentation de l’opposé de x en réalisant « le complément à 2n » : On inverse chaque bit ; on ajoute 1 au résultat. Exemple : 1111 0111 8 = 0000 1000. On inverse les bits : 1111 0111 et on ajoute 1 : + 1 1 1 1 1 1 0 0 0 = -8