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 :
| A | B | Résultat | Retenue (carry) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Exemple : 6 + 5 = 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 :
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.
| A | B | Cin | S | Cout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
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) :
Additionneur 4 bits : 4 full adders en cascade, Cin du premier = 0
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.
Détection : overflow si les signes de A et B sont identiques et que le signe du résultat est différent.
- 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.