Leçon 6 / 8
Leçon 06 · ~25 min · Partie 2 — Circuits

Arithmétique binaire

Les règles de l'addition binaire

L'addition binaire suit exactement le même principe que l'addition décimale, avec des retenues, mais avec seulement 2 chiffres :

ABRésultatRetenue (carry)
0000
0110
1010
1101

Exemple : 6 + 5 = 11

6 = 0 1 1 0
5 = 0 1 0 1
Retenues 0 1 1 0
Résultat 1 0 1 1 = 11 ✓
1
0
1
1
= 8 + 0 + 2 + 1 = 11

Soustraction par complément à 2

Les processeurs ne font pas de soustraction directe. Ils calculent A - B = A + (-B), où -B est obtenu par complément à 2.

Exemple : calculer 7 - 3 sur 4 bits :

7 = 0111
3 = 0011
Inverser 31100
+ 1 = -31101
7 + (-3)0111 + 1101 = 0100 = 4 ✓

La retenue finale (bit 5) est ignorée pour un résultat sur 4 bits. Le résultat 0100 = 4, ce qui est correct.

L'additionneur complet (Full Adder)

Contrairement au semi-additionneur, le full adder accepte une retenue entrante Cin. Il a 3 entrées (A, B, Cin) et 2 sorties (Somme S, Retenue sortante Cout). C'est la brique qui permet de chaîner les additions multi-bits.

ABCinSCout
00000
00110
01010
01101
10010
10101
11001
11111
S = A ⊕ B ⊕ Cin
Cout = A·B + Cin·(A ⊕ B)

L'additionneur 4 bits (Ripple Carry Adder)

En chaînant 4 full adders, la retenue sortante de chaque étage devient la retenue entrante du suivant. C'est le ripple carry adder (additionneur à propagation de retenue) :

FA bit 0 FA bit 1 FA bit 2 FA bit 3 C1 C2 C3 0 Cout

Additionneur 4 bits : 4 full adders en cascade, Cin du premier = 0

⚠️
Limite du ripple carry : la retenue doit se propager bit par bit. Sur 64 bits, cela crée un délai de propagation. Les processeurs modernes utilisent le carry look-ahead adder qui calcule toutes les retenues en parallèle.

Le débordement (Overflow)

Sur 4 bits signés (complément à 2), les valeurs vont de -8 à +7. Si on additionne 6 + 3 = 9, le résultat ne tient pas sur 4 bits signés : c'est un overflow.

6 = 0110
3 = 0011
Résultat1001 = -7 en signé !

Détection : overflow si les signes de A et B sont identiques et que le signe du résultat est différent.

// À retenir
  • L'addition binaire : 1+1 = 0 avec retenue de 1.
  • La soustraction se fait par complément à 2 : un seul type de circuit suffit.
  • Full adder : 3 entrées (A, B, Cin), 2 sorties (S=XOR triple, Cout).
  • Ripple carry adder : N full adders en cascade pour additionner N bits.
  • Overflow : débordement si le résultat dépasse la plage représentable.