Programmation — intermédiaire
Le système binaire — Informatique & Maths
Comprendre le système binaire : bases numériques, conversions, opérations logiques, représentation des données. Indispensable pour les NSI et le numérique.
Par ProfBot
Le système binaire — Informatique & Mathématiques
🎯 Objectif : Maîtriser le binaire, les conversions entre bases et les opérations logiques qui fondent tout système informatique.
1. Introduction : pourquoi le binaire ?
Un ordinateur est composé de milliards de transistors qui ne connaissent que deux états :
- 0 → transistor bloqué (pas de courant)
- 1 → transistor passant (courant qui passe)
Tout — images, sons, textes, vidéos, programmes — est stocké et traité sous forme de 0 et de 1.
Le bit et l'octet
- bit (binary digit) : la plus petite unité d'information → 0 ou 1
- octet (byte) : groupe de 8 bits → 256 combinaisons possibles (2⁸)
2. Les systèmes de numération
Base 10 (décimal) — notre système habituel
On utilise les chiffres 0 à 9. Chaque position vaut une puissance de 10 :
Base 2 (binaire)
On utilise uniquement 0 et 1. Chaque position vaut une puissance de 2 :
Base 16 (hexadécimal)
On utilise 0–9 puis A–F (A=10, B=11, C=12, D=13, E=14, F=15). Chaque position vaut une puissance de 16 :
L'hexadécimal est très utilisé en informatique car 1 chiffre hex = 4 bits (un demi-octet).
3. Conversions entre bases
Décimal → Binaire (divisions successives par 2)
Binaire → Décimal (somme des puissances de 2)
Binaire ↔ Hexadécimal (groupes de 4 bits)
Tableau de référence
| 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 |
4. Opérations en binaire
Addition binaire
Règles de base :
Exemple :
Soustraction binaire
Multiplication par 2 = décalage à gauche
Division par 2 = décalage à droite
5. Algèbre de Boole et opérations logiques
L'algèbre de Boole est le fondement des circuits logiques.
Opérations fondamentales
NOT (NON) — Inversion
AND (ET) — Vrai si les deux entrées sont vraies
| A | B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR (OU) — Vrai si au moins une entrée est vraie
| A | B | A OR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
XOR (OU exclusif) — Vrai si les entrées sont différentes
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Application : demi-additionneur
Un demi-additionneur calcule la somme de 2 bits :
6. Représentation des données
Entiers non signés (positifs uniquement)
Avec n bits, on peut représenter les entiers de 0 à 2ⁿ - 1.
Entiers signés (complément à 2)
Pour représenter les entiers négatifs, on utilise le complément à 2 :
- Écrire la valeur absolue en binaire
- Inverser tous les bits (complément à 1)
- Ajouter 1
Exemple : représenter -5 sur 8 bits
Avec n bits signés : de -2ⁿ⁻¹ à 2ⁿ⁻¹ - 1
Texte : la table ASCII
Chaque caractère est codé sur 7 ou 8 bits.
Couleurs : le codage RGB
Chaque couleur = 3 octets (Rouge, Vert, Bleu) → 0 à 255 chacun.
7. En pratique — Python
Exercices d'application
- Convertir 157₁₀ en binaire et en hexadécimal
- Convertir 11010110₂ en décimal et en hexadécimal
- Effectuer l'addition binaire : 10110101 + 01101011
- Représenter -42 en complément à 2 sur 8 bits
- Donner le code RGB en hexadécimal du vert pur (0, 255, 0)
- Écrire une fonction Python qui convertit un entier en binaire sans utiliser bin()