Partie 1 : Entiers positifs et bases de numération
1. Introduction : pourquoi d'autres bases ?
Section intitulée « 1. Introduction : pourquoi d'autres bases ? »Au quotidien, nous comptons en base 10 (système décimal). Nous utilisons 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Ce choix est lié à nos 10 doigts, mais il n'a rien d'universel.
Les ordinateurs, eux, ne connaissent que deux états électriques : tension haute ou tension basse. Ils travaillent donc en base 2 (système binaire), avec seulement deux chiffres : 0 et 1.
Pour des raisons de lisibilité, les informaticiens utilisent aussi la base 16 (système hexadécimal), qui est un raccourci pratique pour écrire des nombres binaires.
2. Le système décimal (base 10)
Section intitulée « 2. Le système décimal (base 10) »2.1 Principe de la numération positionnelle
Section intitulée « 2.1 Principe de la numération positionnelle »Dans le système décimal, la position d'un chiffre détermine sa valeur. Prenons le nombre 5 307 :
| Milliers | Centaines | Dizaines | Unités |
|---|---|---|---|
| 5 | 3 | 0 | 7 |
| 5 × 10³ | 3 × 10² | 0 × 10¹ | 7 × 10⁰ |
| 5 000 | 300 | 0 | 7 |
On a donc : 5 307 = 5 × 10³ + 3 × 10² + 0 × 10¹ + 7 × 10⁰
Chaque position correspond à une puissance de 10. C'est ce qu'on appelle la décomposition en puissances de la base.
2.2 Généralisation à une base quelconque
Section intitulée « 2.2 Généralisation à une base quelconque »Ce principe fonctionne dans n'importe quelle base b >= 2. Un nombre écrit en base b utilise les chiffres de 0 à b - 1, et chaque position correspond à une puissance de b.
3. Le système binaire (base 2)
Section intitulée « 3. Le système binaire (base 2) »3.1 Les chiffres binaires : les bits
Section intitulée « 3.1 Les chiffres binaires : les bits »En base 2, on n'utilise que deux chiffres : 0 et 1. Chaque chiffre binaire s'appelle un bit (contraction de l'anglais binary digit).
Un groupe de 8 bits forme un octet (en anglais byte).
| Terme | Définition |
|---|---|
| Bit | Plus petite unité d'information. Vaut 0 ou 1. |
| Octet | Groupe de 8 bits. Peut représenter 2⁸ = 256 valeurs différentes (de 0 à 255). |
3.2 Décomposition en puissances de 2
Section intitulée « 3.2 Décomposition en puissances de 2 »La lecture d'un nombre binaire suit le même principe que le décimal, mais avec des puissances de 2.
3.3 Les puissances de 2 à connaître
Section intitulée « 3.3 Les puissances de 2 à connaître »Il est utile de mémoriser les premières puissances de 2 :
| 2⁰ | 2¹ | 2² | 2³ | 2⁴ | 2⁵ | 2⁶ | 2⁷ | 2⁸ | 2⁹ | 2¹⁰ |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1 024 |
3.4 Conversion décimal vers binaire : méthode des divisions successives
Section intitulée « 3.4 Conversion décimal vers binaire : méthode des divisions successives »Pour convertir un entier décimal en binaire, on effectue des divisions euclidiennes successives par 2 et on lit les restes de bas en haut.
3.5 Méthode alternative : soustraction de puissances de 2
Section intitulée « 3.5 Méthode alternative : soustraction de puissances de 2 »On peut aussi procéder par soustractions successives de la plus grande puissance de 2 possible :
4. Le système hexadécimal (base 16)
Section intitulée « 4. Le système hexadécimal (base 16) »4.1 Les 16 chiffres hexadécimaux
Section intitulée « 4.1 Les 16 chiffres hexadécimaux »En base 16, il faut 16 symboles. Comme nous n'avons que 10 chiffres (0 à 9), on ajoute les six premières lettres de l'alphabet :
| Hexadécimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Décimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
4.2 Conversion hexadécimal vers décimal
Section intitulée « 4.2 Conversion hexadécimal vers décimal »Même principe que pour le binaire, avec des puissances de 16 :
4.3 Conversion décimal vers hexadécimal
Section intitulée « 4.3 Conversion décimal vers hexadécimal »On applique la méthode des divisions successives par 16 :
4.4 Conversion binaire vers hexadécimal (et inversement)
Section intitulée « 4.4 Conversion binaire vers hexadécimal (et inversement) »La base 16 est une puissance de 2 (16 = 2⁴), ce qui crée une correspondance directe : chaque chiffre hexadécimal correspond exactement à un groupe de 4 bits.
Table de correspondance :
| Hexa | Binaire | Hexa | Binaire | |
|---|---|---|---|---|
| 0 | 0000 | 8 | 1000 | |
| 1 | 0001 | 9 | 1001 | |
| 2 | 0010 | A | 1010 | |
| 3 | 0011 | B | 1011 | |
| 4 | 0100 | C | 1100 | |
| 5 | 0101 | D | 1101 | |
| 6 | 0110 | E | 1110 | |
| 7 | 0111 | F | 1111 |
C'est pour cette raison que l'hexadécimal est si utilisé en informatique : il offre une notation compacte du binaire tout en restant facile à convertir.
5. Nombre de bits nécessaires
Section intitulée « 5. Nombre de bits nécessaires »Pour représenter un entier positif N en binaire, combien de bits sont nécessaires ?
La réponse est liée à la plus grande puissance de 2 inférieure ou égale à N :
| Nombre de bits | Valeur maximale | Nombre de valeurs |
|---|---|---|
| 1 | 1 | 2 |
| 4 | 15 | 16 |
| 8 (1 octet) | 255 | 256 |
| 16 | 65 535 | 65 536 |
| 32 | 4 294 967 295 | environ 4,3 milliards |
| 64 | environ 1,8 × 10¹⁸ | environ 1,8 × 10¹⁹ |
6. En Python
Section intitulée « 6. En Python »Python offre des fonctions intégrées pour travailler avec les bases :
6.1 Conversion décimal vers binaire et hexadécimal
Section intitulée « 6.1 Conversion décimal vers binaire et hexadécimal »>>> bin(45)'0b101101'
>>> hex(750)'0x2ee'
>>> hex(255)'0xff'Les préfixes 0b et 0x indiquent respectivement la base 2 et la base 16.
6.2 Conversion vers le décimal
Section intitulée « 6.2 Conversion vers le décimal »La fonction int() avec un second argument permet de convertir depuis n'importe quelle base :
>>> int('101101', 2)45
>>> int('2F', 16)47
>>> int('1A3', 16)4196.3 Écriture directe en binaire et hexadécimal
Section intitulée « 6.3 Écriture directe en binaire et hexadécimal »On peut écrire directement des nombres en base 2 ou 16 dans le code Python :
>>> 0b10110145
>>> 0x2F47
>>> 0b11111111255
>>> 0xFF2556.4 Nombre de bits nécessaires
Section intitulée « 6.4 Nombre de bits nécessaires »>>> (45).bit_length()6
>>> (255).bit_length()8
>>> (256).bit_length()97. Résumé
Section intitulée « 7. Résumé »| Concept | Base 10 | Base 2 | Base 16 |
|---|---|---|---|
| Nom | Décimal | Binaire | Hexadécimal |
| Chiffres utilisés | 0 à 9 | 0 et 1 | 0 à 9 et A à F |
| Préfixe Python | (aucun) | 0b | 0x |
| Fonction Python | int() | bin() | hex() |
| Usage principal | Vie courante | Stockage machine | Notation compacte |
| Conversion | Méthode |
|---|---|
| Base b vers base 10 | Décomposition en puissances de b |
| Base 10 vers base b | Divisions successives par b (lire les restes de bas en haut) |
| Base 2 vers base 16 | Regrouper les bits par paquets de 4 |
| Base 16 vers base 2 | Remplacer chaque chiffre hexa par ses 4 bits |
© 2026 Corentin Dupont - LyCode
Créé avec Astro Starlight