Le système binaire expliqué

Le système binaire expliqué : ce que tout le monde devrait savoir avant de toucher un ordinateur

Si vous travaillez dans l’informatique, le réseau, ou même si vous codez un peu de votre côté, vous avez forcément croisé le binaire. Et si vous êtes honnête avec vous-même, vous admettrez que vous avez peut-être eu tendance à l’ignorer en vous disant « bof, les outils font ça pour moi ». C’est vrai. Mais comprendre le binaire, c’est comprendre comment une machine pense, stocke, et transmet l’information. Ce n’est pas un détail académique — c’est le fondement de tout ce qui tourne sur un processeur.

On va couvrir ici les bases du binaire, les conversions dans les deux sens, les octets, et l’hexadécimal. Pas de raccourcis, pas de magie. Juste de la logique.

Avant le binaire : rappel sur la base 10

Pour comprendre la base 2, le plus simple est de repartir de la base 10, celle qu’on utilise au quotidien sans y penser.

Notre système décimal repose sur 10 chiffres : de 0 à 9. Quand on écrit le nombre 129, on ne pense pas à ce que ça représente vraiment en termes de structure, mais voilà ce qui se passe :

  • Le chiffre 9 est dans la colonne des unités → 9 × 1 = 9
  • Le chiffre 2 est dans la colonne des dizaines → 2 × 10 = 20
  • Le chiffre 1 est dans la colonne des centaines → 1 × 100 = 100

Total : 100 + 20 + 9 = 129

Chaque colonne, en allant de droite à gauche, est une puissance de 10 :

ColonneCalculValeur
Unités10⁰1
Dizaines10¹10
Centaines10²100
Milliers10³1 000

C’est la notation en puissances. Elle semble évidente pour la base 10 parce qu’on la pratique depuis l’école primaire. Mais le même principe s’applique exactement à n’importe quelle base numérique — y compris la base 2.

Le système binaire : base 2, deux chiffres, zéro compromis

Le binaire fonctionne exactement de la même façon que le décimal, à une différence près : au lieu d’utiliser 10 comme base, il utilise 2. Et au lieu de disposer de 10 chiffres (0 à 9), il n’en a que deux : 0 et 1.

Pourquoi deux ? Parce qu’un circuit électronique ne connaît que deux états : courant ou pas courant, allumé ou éteint, haut ou bas. C’est aussi simple que ça. L’ordinateur ne peut physiquement travailler qu’avec des signaux électriques binaires — d’où ce choix de base.

Les colonnes en binaire fonctionnent avec des puissances de 2 :

ColonneCalculValeur décimale
1ère (droite)2⁰1
2ème2
3ème4
4ème8
5ème2⁴16
6ème2⁵32
7ème2⁶64
8ème2⁷128

Retenez bien cette séquence : 1, 2, 4, 8, 16, 32, 64, 128. C’est la colonne vertébrale du binaire sur 8 bits. On y revient tout le temps.

Lire un nombre binaire : binaire → décimal

Prenons le nombre binaire 101. On va lui appliquer la même logique qu’au décimal.

On lit de droite à gauche :

  • Position 1 (unités, 2⁰ = 1) → chiffre = 1 → 1 × 1 = 1
  • Position 2 (2¹ = 2) → chiffre = 0 → 0 × 2 = 0
  • Position 3 (2² = 4) → chiffre = 1 → 1 × 4 = 4

Total : 1 + 0 + 4 = 5

Donc 101 en binaire = 5 en décimal.

Autre exemple, un peu plus long : 1011

  • Position 1 → 1 × 1 = 1
  • Position 2 → 1 × 2 = 2
  • Position 3 → 0 × 4 = 0
  • Position 4 → 1 × 8 = 8

Total : 1 + 2 + 0 + 8 = 11 en décimal.

Encore un : 1111

  • 1 × 1 = 1
  • 1 × 2 = 2
  • 1 × 4 = 4
  • 1 × 8 = 8

Total : 1 + 2 + 4 + 8 = 15

Ce n’est pas du tout aléatoire : 1111 en binaire, c’est le maximum sur 4 bits. Et ce maximum vaut toujours 2^n – 1, où n est le nombre de bits. Pour 4 bits : 2⁴ – 1 = 15. Pour 3 bits : 2³ – 1 = 7. Logique.

Exercice rapide : Convertissez vous-même ces deux nombres avant de lire la suite.

  • 1001 binaire = ?
  • 1100 binaire = ?

Réponses :

  • 1001 = 1 + 0 + 0 + 8 = 9
  • 1100 = 0 + 0 + 4 + 8 = 12

Convertir du décimal en binaire

L’autre sens est moins intuitif au départ, mais la méthode est claire.

L’idée : on soustrait successivement les plus grandes puissances de 2 possibles du nombre décimal, jusqu’à tomber à zéro. Pour chaque puissance de 2 qu’on peut soustraire, on met un 1. Pour celles qu’on ne peut pas, on met un 0.

La séquence de référence sur 8 bits :

128 — 64 — 32 — 16 — 8 — 4 — 2 — 1

Exemple 1 : Décimal 10 → binaire

  • 128 > 10, on ne peut pas. → 0
  • 64 > 10, on ne peut pas. → 0
  • 32 > 10, on ne peut pas. → 0
  • 16 > 10, on ne peut pas. → 0
  • 8 ≤ 10. On soustrait. 10 – 8 = 2. → 1
  • 4 > 2, on ne peut pas. → 0
  • 2 ≤ 2. On soustrait. 2 – 2 = 0. → 1
  • 1 > 0, on ne peut pas. → 0

Résultat : 00001010 — ou en simplifié : 1010

Exemple 2 : Décimal 13 → binaire

  • 8 ≤ 13. 13 – 8 = 5. → 1
  • 4 ≤ 5. 5 – 4 = 1. → 1
  • 2 > 1. → 0
  • 1 ≤ 1. 1 – 1 = 0. → 1

Résultat : 1101

Exemple 3 : Décimal 200 → binaire

  • 128 ≤ 200. 200 – 128 = 72. → 1
  • 64 ≤ 72. 72 – 64 = 8. → 1
  • 32 > 8. → 0
  • 16 > 8. → 0
  • 8 ≤ 8. 8 – 8 = 0. → 1
  • 4 > 0. → 0
  • 2 > 0. → 0
  • 1 > 0. → 0

Résultat : 11001000

Vérification rapide : 128 + 64 + 8 = 200. Correct.

Les octets : pourquoi 8 bits

En informatique et en réseau, le groupement de 8 bits est omniprésent. On l’appelle un octet (ou byte en anglais). Pourquoi 8 ? Parce que 8 bits permettent de représenter 256 valeurs distinctes (de 0 à 255), ce qui s’est avéré être une granularité très pratique pour encoder des caractères, des adresses, des instructions processeur, etc.

Sur 8 bits, le maximum est 11111111, soit :

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

C’est un chiffre qu’on retrouve partout. Dans les adresses IPv4, chaque octet de l’adresse est compris entre 0 et 255. Dans les couleurs RGB, chaque composante (rouge, vert, bleu) va de 0 à 255. Ce n’est pas une coïncidence.

Exemple complet : convertir 01101011 en décimal

On pose les valeurs de colonne au-dessus de chaque bit :

1286432168421
01101011

Calcul : 0 + 64 + 32 + 0 + 8 + 0 + 2 + 1 = 107

L’hexadécimal : le raccourci du binaire

Le problème avec le binaire, c’est qu’il prend de la place visuellement. Écrire 11111111 est peu pratique. C’est là qu’intervient l’hexadécimal, ou base 16.

La base 16 utilise 16 symboles : 0 à 9, puis A (=10), B (=11), C (=12), D (=13), E (=14), F (=15).

Chaque chiffre hexadécimal représente exactement 4 bits (un demi-octet, parfois appelé nibble). Donc un octet (8 bits) s’écrit avec exactement 2 chiffres hexadécimaux. C’est la raison principale pour laquelle l’hexa est utilisé partout en informatique — c’est du binaire compressé, lisible par un humain.

Quelques correspondances à connaître :

DécimalBinaireHexadécimal
000000
910019
101010A
151111F
25511111111FF
24011110000F0

FF en hexa = 11111111 en binaire = 255 en décimal. C’est la valeur maximale d’un octet.

F0 en hexa = 11110000 en binaire = 240 en décimal. Les 4 bits de poids fort sont à 1 (valeur 128+64+32+16 = 240), les 4 bits de poids faible sont à 0.

On retrouve l’hexadécimal dans les adresses MAC réseau (par exemple : 00:1A:2B:3C:4D:5E), dans les couleurs HTML (#FF5733), dans les adresses mémoire, dans les certificats SSL, les hashs SHA256… En gros, dès qu’il faut représenter des données brutes de façon compacte, l’hexa est là.

Pourquoi ça compte vraiment

Il y a des gens qui pensent que comprendre le binaire est un exercice académique sans débouché pratique. C’est faux. Voici quelques situations concrètes où cette connaissance est directement utile :

Le subnetting réseau : Si vous devez calculer des masques de sous-réseau et des plages d’adresses IP, vous travaillez en binaire, même si vous ne le voyez pas toujours. Un masque comme /24 signifie 24 bits à 1 en binaire, soit 11111111.11111111.11111111.00000000, soit 255.255.255.0 en décimal. Savoir lire et convertir ce genre de valeurs à la main peut vous sauver lors d’un dépannage réseau urgent.

La lecture des logs et des dumps mémoire : Les dumps de paquets réseau (Wireshark, tcpdump) affichent des données en hexadécimal. Si vous savez passer de l’hexa au binaire ou au décimal mentalement, vous lisez ces données plus vite.

Les drapeaux et les masques de bits : En programmation système ou embarquée, il est courant d’utiliser des champs de bits où chaque bit d’un octet a une signification différente (permissions Unix, registres matériels, flags TCP, etc.). Travailler avec ces structures demande de comprendre exactement ce que représente chaque bit.

Les couleurs et le multimédia : Une couleur en RGB stockée sur 24 bits, c’est trois octets. #FF0000 c’est rouge à fond (255), vert à zéro, bleu à zéro. Sans la compréhension du binaire et de l’hexa, ce genre de notation reste opaque.

Convertir à la main vs. utiliser un outil

Une fois les mécanismes compris, personne ne vous demande de convertir décimal 200 en binaire à la main dans votre vie professionnelle. Les calculatrices et les outils font ça instantanément. La calculatrice Windows en mode « Programmeur » gère très bien les conversions entre décimal, binaire, octal et hexadécimal. Il en existe des dizaines en ligne.

Mais connaître le processus, c’est ce qui fait la différence entre quelqu’un qui copie-colle des valeurs sans savoir ce qu’il fait, et quelqu’un qui comprend ce qu’il manipule. Quand une valeur d’adresse réseau ou un registre de configuration vous donne un résultat inattendu, c’est votre compréhension du binaire qui vous permettra de débugger rapidement.

Il existe aussi des traducteurs binaires conçus pour convertir du texte en binaire et inversement — ce qui est un cas d’usage différent de la simple conversion numérique. Ces outils passent par la table ASCII : chaque lettre est d’abord convertie en son code numérique, puis ce code est exprimé en binaire sur 8 bits. Pratique pour comprendre concrètement comment un ordinateur stocke un mot comme « Bonjour » sous forme de suites de 0 et de 1. Si vous voulez tester ça directement, ce traducteur binaire permet de faire la conversion dans les deux sens en quelques secondes.

En résumé

ConceptCe qu’il faut retenir
Binaire = base 2Seuls les chiffres 0 et 1 existent
Chaque colonne = puissance de 21, 2, 4, 8, 16, 32, 64, 128…
Octet = 8 bitsValeurs de 0 à 255
Maximum sur n bits2^n – 1
Hexadécimal = base 164 bits par chiffre hexa, 2 chiffres par octet
FF en hexa= 255 en décimal = 11111111 en binaire

Si vous ne deviez retenir qu’une seule chose, c’est la séquence des puissances de 2 jusqu’à 128 : 1, 2, 4, 8, 16, 32, 64, 128. Avec cette colonne de valeurs en tête, toutes les conversions binaire-décimal sur un octet deviennent mécaniques.

Le binaire n’est pas une curiosité mathématique réservée aux universitaires. C’est le langage natif de toute machine numérique. Le comprendre, c’est arrêter de travailler à l’aveugle.