Portes logiques
AND, OR, NOT, XOR : les interrupteurs logiques qui additionnent, comparent et décident. Avec tables de vérité.
Tables de vérité
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Le demi-additionneur
Somme S = A XOR B, retenue C = A AND B. Deux portes = un additionneur 1 bit ; enchaînez-en 32 et vous additionnez des entiers 32 bits.
const xor = (a,b) => (a||b) && !(a&&b) ? 1 : 0;
const halfAdd = (a,b) => ({ s: xor(a,b), c: a&&b ? 1 : 0 });
console.log(halfAdd(1,1)); // { s: 0, c: 1 } → 1+1 = 10bJusqu'où ?
Additionneurs → ALU → CPU. Mémoire + horloge + jeu d'instructions = un ordinateur complet. Tout le reste est de l'échelle.