Chapitre 2 - Moodle - Partie1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

Module SM1 2021

Chapitre 2: La représentation des nombres en machine

Les signe + et – ne sont pas reconnus par un ordinateur lequel ne connait que deux états : 0 et 1. On les
représente donc par un bit qui occupera la case de gauche du nombre considéré. Ce bit s’appelle le bit de
signe. Donc, par convention, on représente le signe + par 0 et signe – par 1. Nous allons traiter dans cette
partie la représentation des entiers négatifs qui sont représentés en machine par une des trois
méthodes :Signe et Valeur absolue, en complément à 1 ou en complément à 2.

1 Représentation des entiers négatifs en SVA (signe et valeur absolue)


C’est la représentation la plus simple d’un nombre négatif, il suffit de coder sa valeur absolue en binaire
puis rajouter le bit du signe. Ainsi le nombre +32 est représenté sur 8 bits par :

Bit du 0 0 1 0 0 0 0 0
signe (S)

Le nombre -32 s'écrira en SVA par :


1 0 1 0 0 0 0 0

Question :
Peut-on représenter le nombre -8 sur 04 bits.

Réponse :
Il est impossible de représenter le chiffre -8 sur 4 bits car sa valeur absolue |-8(10)| qui est égale à 1000(2)
prends déjà 04 bits et donc on aura besoin au minimum de 5 bits pour pouvoir représenter son bit de signe.

S VA Chiffre S VA chiffre
En décimal En décimal
0 0 0 0 +0 1 0 0 0 -0
0 0 0 1 +1 1 0 0 1 -1
0 0 1 0 +2 1 0 1 0 -2
0 0 1 1 +3 1 0 1 1 -3
0 1 0 0 +4 1 1 0 0 -4
0 1 0 1 +5 1 1 0 1 -5
0 1 1 0 +6 1 1 1 0 -6
0 1 1 1 +7 1 1 1 1 -7

Tableau 1 : Représentation des nombres par la méthode Signe et Valeur Absolue


1
Module SM1 2021

Question :
Quels sont les nombres qu’on peut représenter sur 04 bits ?

Réponse : d’après le tableau 5, on peut représenter sur 4 bits, l’intervalle de nombres entiers :
De [-(23 - 1) , (23 - 1)] soit de [-7 , +7].

Plus généralement, si on travaille sur n bits, l’intervalle des valeurs qu’on peut représenter en SVA est : [-
(2n-1 - 1), +(2n-1 - 1)].

Cette méthode présente deux inconvénients :


 Le zéro possède deux (2) représentations distinctes 0000 et 1000 soit +0 et -0;
 Les tables d'additions et de multiplication sont compliquées, à cause du bit de signe qui doit être traité à
part.

2 Représentation des entiers négatifs en CP1 (Complément à 1)


En binaire, on forme le complément à 1 (CP1) d’un nombre en soustrayant de 1chaque bit de ce nombre.
Donc pour obtenir le complément a 1 d’un nombre binaire, il suffit de complémenter (ou d’inverser)
chaque bit. Le 1 devient 0 et le 0 devient 1.

Exemple :
N= 1 0 0 0 1 1 1 0(2)  0 1 1 1 0 0 0 1(2)
N= 0 0 1 1 0(2)  1 1 0 0 1(2)

Remarque :
 la somme d’un nombre binaire et de son complément à 1 est un nombre binaire composé uniquement de
1.
 Le bit de poids fort est utilisé pour représenter le signe du nombre :
 Si ce bit = 1 alors il s’agit d’un nombre négatif
 Si ce bit = 0 alors le nombre est positif.

Question :
Quelle est la valeur décimale du nombre binaire suivant : 10110110 ?

Réponse :
Le bit de poids fort indique qu'il s'agit d'un nombre négatif. Donc la Valeur décimale=- CP1(10110110) = -
(01001001)2=- (73)10

Question :
Quels sont les nombres qu’on peut représenter sur 04 bits ?

2
Module SM1 2021

Valeurs Valeurs chiffre Valeurs Valeurs Chiffre


En CP1 En binaire En décimal En CP1 En binaire En décimal
0 0 0 0 0000 +0 1 0 0 0 -0111 -7
0 0 0 1 0001 +1 1 0 0 1 -0110 -6
0 0 1 0 0010 +2 1 0 1 0 -0101 -5
0 0 1 1 0011 +3 1 0 1 1 -0100 -4
0 1 0 0 0100 +4 1 1 0 0 -0011 -3
0 1 0 1 0101 +5 1 1 0 1 -0010 -2
0 1 1 0 0110 +6 1 1 1 0 -0001 -1
0 1 1 1 0111 +7 1 1 1 1 -0000 -0

Tableau 2 : Représentation des nombres par la méthode CP1


D’après le tableau 6, on peut déduire que sur 4 bits :
 Le plus grand nombre positif représentable est donc 0111 ce qui représente 23 – 1 soit +7
 Le plus petit négatif est -0111. Ce qui donne – (23 -1) soit -7

Réponse :
Donc, on constate que sur 04 bits, on peut représenter les nombres qui sont dans l’intervalle [-7(10),+7(10)],
soit [-(23 - 1) , +(23 - 1)]

Plus généralement, si on travaille sur n bits, l’intervalle des valeurs qu’on peut représenter en CP1 est : [-
(2n-1 - 1), +(2n-1 - 1)].

Limite de la méthode :
Même cas pour la méthode SVA, le zéro possède deux (2) représentations distinctes. Par exemple sur 8
bits +0(10)=00000000(2), -0(10)= cp1(00000000)= 11111111(2)

3 Représentation des entiers négatifs en CP2 (Complément à 2)


Il existe trois méthodes pour calculer le complément à 2 (CP2) d’un nombre binaire.

3.1 Première méthode :


La première consiste à le soustraire à la puissance de 2 immédiatement supérieure. Par exemple : trouver le
complément à 2 du nombre N= 1 0 0 0 1 1 1 0(2),

100000000
- 10001110
01110010

Donc CP2(N) = 0 1 1 1 0 0 1 0

3
Module SM1 2021

3.2 Deuxième méthode :


Elle consiste à trouver d’abord le complément à 1 et à ajouter 1 au résultat. Par exemple :

N= 1 0 0 0 1 1 1 0(2), CP1(N) = 0 1 1 1 0 0 0 1

01110001
+ 1
01110010
Donc CP2(N) = 0 1 1 1 0 0 1 0

3.3 Troisième méthode


Consiste à conserver tous les bits à partir de la droite jusqu’au premier 1 compris et de changer les autres
bits de 1 à 0 ou de 0 à 1. Pour l’exemple précédent, on obtient :

CP2(1 0 0 0 1 1 1 0)= 0 1 1 1 0 0 1 0  bits conservés

Question :
Quelle est la valeur décimale du nombre binaire suivant : 10110110 ?

Réponse :
Le bit de poids fort indique qu'il s'agit d'un nombre négatif. Donc la Valeur décimale =- CP1(10110110) =-
(01001010)2= - (74)10

Question :
Quels sont les nombres qu’on peut représenter sur 04 bits ?

Valeurs Valeurs chiffre Valeurs Valeurs Chiffre


En CP2 En binaire En décimal En CP2 En binaire En décimal
0 0 0 0 0000 +0 1 0 0 0 -1000 -8
0 0 0 1 0001 +1 1 0 0 1 -0111 -7
0 0 1 0 0010 +2 1 0 1 0 -0110 -6
0 0 1 1 0011 +3 1 0 1 1 -0101 -5
0 1 0 0 0100 +4 1 1 0 0 -0100 -4
0 1 0 1 0101 +5 1 1 0 1 -0011 -3
0 1 1 0 0110 +6 1 1 1 0 -0010 -2
0 1 1 1 0111 +7 1 1 1 1 -0001 -1

Tableau 3 : Représentation des nombres par la méthode CP2

4
Module SM1 2021

Sachant que le bit du poids fort est utilisé pour représenter le signe du nombre, on peut déduire que sur 4
bits :
 Le plus grand nombre positif représentable est donc 0111 ce qui représente 23 – 1 soit +7
 Le plus petit négatif est codé par 1000, ce qui donne la valeur binaire -1000, soit -8(-23 ) en décimal.

Réponse :
Donc, d’après le tableau 7, on constate que sur 04 bits, on peut représenter les nombres qui sont dans
l’intervalle [-8(10),+7(10)], soit [-23 , +(23 - 1)]

Plus généralement, si on travaille sur n bits, l’intervalle des valeurs qu’on peut représenter en CP2 est : [-
(2n-1 ), +(2n-1 - 1)].

Avantage :
Un seul codage pour le nombre 0. Par exemple sur 8 bits :

+0 (10) = 00000000(2), -0(10)=cp2(00000000)=00000000(2)

4 Soustraction en base 2 en utilisant les compléments


Avant de faire une soustraction en complément à 1 ou 2 il faut s’assurer que le diminuteur et le
diminuende ont le même nombre de bits. Cette remarque est très importante sinon on ne retrouve pas le
résultat de la soustraction.

4.1 Soustraction par complémentation à 1.


 La soustraction par complément à 1 revient à calculer le complément à 1 du diminuteur ensuite
l’ajouter au diminuende. La dernière retenue est ajoutée au résultat.
 Lorsque le dernier bit du résultat (poids fort)=1, cela veux dire que le résultat est négatif. On calcule
donc le complément à 1 de ce dernier afin d’obtenir le résultat final.

Exemple 1:
Effectuons sur 5 bits, l'opération (+8) + (- 9).

Solution:
Les nombres doivent être sur 5 bits y compris le bit de signe

(+8) = 01000(2)
(+9) = 01001(2)

Le complément à 1 de 01001 est 10110 = - 9(10)

5
Module SM1 2021

diminuende
diminuteur

Le bit du signe =1  résultat négatif  le résultat = - Cp1(11110).


Dans ce cas, calculons le complément à 1 du résultat

Cp1(11110)=00001(2). Cela veux dire que le résultat = -1(2)

Exemple 2: toujours sur 8 bits effectuons l’opération : (-8) + (-9)

Solution :
Dans ce cas chaque nombre est représenté par son complément à 1 :
(+8) = 01000, (-8)= cp1(01000)=10111
(+9) = 01001, (-9)= cp1(01001)=10110

1
1 0 1 1 1
1 0 1 1 0
0 1 1 0 1
+ 1
0 1 1 1 0

Remarque 1:
Nous remarquons que le dernier bit du résultat = zero. Ce qui veux dire que le résultat est positif. Hors,
l’addition de deux nombres négatifs ne peut donner qu’un nombre négatif !!!. Ce cas s’appelle «
dépassement » , en anglais, « overflow ». Il résulte du fait que sur 5 bits on ne peux représenter que les
nombres qui sont dans l’intervalle [-15 , 15] (voir la section 8.2) alors que -8-9 donne -17 qui est hors
intervalle.

Remarque 2
Dans l’addition arithmétique signée, par exemple (A+B), on dit qu’il y a débordement si et seulement si les
deux opérandes A et B sont de même signe et le résultat S est de signe différent.

4.2 Soustraction par complément à 2

 Complémenter le diminuteur ensuite l’ajouter au diminuende. La dernière retenue est ignorée.


 Tout comme la méthode du complément à 1, lorsque le dernier bit du résultat (poids fort)=1, cela veux
dire que le résultat est négatif. On calcule donc le complément à 2 de ce dernier afin d’obtenir le
résultat final.

6
Module SM1 2021

Exemple 3:
Effectuons la même opération en complément à 2. (+8) - (+9).

Solution
(+8) = 01000(2) , (+9) = 01001(2)
Le complément à 2 de 01001 est 10111 = -9

Le bit du signe =1  résultat négatif  le résultat = - Cp2(11111).

Dans ce cas, calculons le complément à 1 du résultat :


Cp2(11111)=00001(2). Cela veux dire que le résultat = -1(2)

Vous aimerez peut-être aussi