IG – Chapitre 9 | L4 | Opération en complément

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
  1. En complément à β on ignore cette retenue
  2. 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