Le système binaire
La base 10, pour commencer
Le système décimal utilise 10 chiffres (0 à 9). Chaque position représente une puissance de 10 :
La base 2 : binaire
Le binaire fonctionne exactement pareil, mais avec seulement 2 chiffres (0 et 1) et des puissances de 2 :
| Position (bit) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Puissance de 2 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Le bit le plus à gauche est appelé MSB (Most Significant Bit), le bit le plus à droite est le LSB (Least Significant Bit).
Binaire → Décimal
Pour convertir 10110101 en décimal, on additionne les puissances de 2 correspondant aux bits à 1 :
Décimal → Binaire : les divisions successives
Pour convertir 42 en binaire, on divise par 2 en notant les restes (à lire de bas en haut) :
L'hexadécimal : base 16
La base 16 utilise les chiffres 0 à 9 puis les lettres A à F (A=10, B=11, … F=15). Elle est très pratique car 1 chiffre hex = 4 bits exactement.
| Décimal | Binaire | Hexadécimal |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
Pour convertir 0xB4 (notation hex, préfixe 0x) en binaire, il suffit de grouper par nibbles :
Le complément à 2 : les nombres négatifs
Sur N bits non signés, on représente 0 à 2ᴺ-1. Pour les nombres signés, on utilise le complément à 2 : le bit de poids fort indique le signe (0 = positif, 1 = négatif).
Pour obtenir -3 sur 4 bits :
- Binaire (base 2) : chaque position = puissance de 2 (1, 2, 4, 8, 16…).
- Binaire → décimal : sommer les puissances de 2 des bits à 1.
- Décimal → binaire : divisions successives par 2, restes lus à l'envers.
- Hexadécimal : base 16, 1 chiffre = 4 bits. Pratique pour écrire des octets.
- Complément à 2 : inverser les bits + ajouter 1 = représentation des négatifs.