Opération en complément
La difficulté rencontrée dans l’opération de soustraction a amené les concepteurs d’ordinateur à représenter les nombres négatifs sous une forme particulière appelée complément. L’opération A-B ou A et B sont des nombres positifs est remplacée par l’opération A + complément de B. dans une base donnée β il existe 2 formes de représentation en complément. Complément à β et complément à β-1.
Calcul du complément
Complément à β-1
Soit un entier A sur n chiffre dans la base β. Le complément à β-1 de A.
Cβ-1(A) = (βn-1)-A avec n : nombre de chiffre et A : entier
Exemple 1 :
β=10 et n=4
C9(1453) = (104-1) – 1453 = 10 000 – 1 – 1453 = 9 999 – 1 453 = 8546
Exemple 2 :
C9(391) = 999 – 391 = 608
Exemple :
C1(1011) = 24 – 1 – 1011 = 1111 – 1011 = 0100
C1(11101) = 25 – 1 – 11101 = 100 000 – 11 101 = 11 111 – 11 101 = 00 010
Pour trouver le complément à 1 d’un nombre binaire on remplace les 1 par les 0 et les 0 par les 1
C1(1011) = 0100
C1(11101) = 00010
Complément à β
Le complément à β de A est égal à sont complément à (β-1)+1. Cβ = βn-A
Exemple :
C10(27) = 10² – 2 = 100 – 27 = 73
C10(34500) = 105 – 34500 = 100 000 – 34 500 = 65 500
Le complément à β d’un nombre peut être obtenu directement de la manière suivante : de la droite vers la gauche si on rencontre les zéro on les recopie, dès qu’on rencontre le premier chiffre non nul on trouve son complément à β pour le reste des chiffres on trouve son complément à β-1
Exemple :
C10(4 103 000) = 5 897 000
C2(100 1101) = 0110011
C10(1 479) = 8521
C2(10001100100) = 01110011100
Soustraction en complément
soustraction avec les nombres sans signe
Soit à effectuer l’opération suivante x – y = x + complément(y)
On distingue deux cas :
- Si x≥y alors si la somme génère une retenue
- En complément à β on ignore cette retenue
- En complément à β-1 on ajoute cette retenue au résultat obtenu.
- Si x<y alors le résultat est négatif et la somme ne génère pas de retenue. Alors il faut e trouver le complément du résultat et le précéder du signe moins (-).
Exemple :
effectuons l’opération en complément à 10 et ensuite en complément à 9.
1372 – 345
C10 : 1372 – 0345 = 1372 + C10(0345) = 1372 + 9655 = 1027
1372 – 0345
C9 : 1372 + C9(0345) = 1372 + 9654 = 1027
Exercice :
Calculer en complément à 1 et en complément à 2.
10100 – 10011 = 10100 + C1(10011) = 10100 + 01100 = 00001
10100 – 10011 = 101000 + C2(10011) = 10100 + 01101 = 00001
Nombre avec signe
L’ordinateur se sert d’un bit pour représenter le signe avec la conversion 0 pour le signe positif et 1 pour le signe négatif. On se fixe toujours le nombre de bit utilisé pour la représentation des données. Soit n ce nombre de bit, le premier des n bits à partir de la gauche représente le signe. Les n-1 dernier bits représente le nombre en complément à 1 ou à 2.
Exemple : n = 8bits
0011111 = 63
11000000 = -63 en complément à 1
11000001 = -63 en complément à 2
Pour n bits on ne peut représenter que des nombres appartenant à cet intervalle.
[-(2n-1-1) ; 2n-1-1] en complément à 1
[-2n-1 ; 2n-1-1] en complément à 2
Exemples :
101110 et n = 6
[-31 ; 31] à 1 on a 01001 = -17
[-32 ; 31] à 2 on a 010010 = -18
1101011 et n = 7
[-63 ; 63] à 1 on a 0010100 = -20
[-64 ; 63] à 2 on a 0010101 = -21
Soit à effectuer A-B sur n bits cette opération revient à calculer A + complément(B) sur les n bits.
- En complément à 1 on additionne les deux nombres A et complément (B) y compris les bits de signe. S’il y’a retenu on la rajoute au résultat obtenu.
- En complément à 2 on additionne les deux nombres A et complément(B) y compris les bits de signe. S’il y’a retenu on l’ignore.
Exemples :
n = 4bits
-3 + 7
3 = 0011 et -3 = C2(3) = 1101 et 7 = 0111
R = 0100
n = 4bits
-3 – 4
-3 = C2(3) = 1101 et 4 = 0100 alors -4 = C2(4) = 1100
R = 1001