Binaire, décimal et hexadécimal : comment passer de l'un à l'autre

Convertir entre des bases ressemble à de la magie, jusqu'à ce qu'on voie que c'est toujours la même idée : chaque chiffre vaut selon la place qu'il occupe. Ici, tu apprends à passer du binaire au décimal et du décimal au binaire à la main, à lire l'hexadécimal sans crainte et à traduire du texte en bits, avec des calculs résolus et un tableau de 0 à 15 à garder sous la main.

Mis à jour:

Qu'est-ce qu'un système positionnel ?

Dans le nombre décimal 4 095, le 4 ne vaut pas 4 : il vaut 4 000, parce qu'il est à la place des milliers. Chaque position multiplie le chiffre par une puissance de 10 (1, 10, 100, 1 000…). C'est le système positionnel, et la base est le nombre de chiffres différents utilisés : dix en décimal.

Le binaire fonctionne de la même façon, mais en base 2 : il n'existe que le 0 et le 1, et chaque place vaut le double de la précédente. L'hexadécimal utilise la base 16 : les seize chiffres sont 0 à 9 et les lettres A à F, et chaque place vaut 16 fois la précédente. Les ordinateurs travaillent en binaire parce qu'un circuit n'a besoin de distinguer que deux états (éteint et allumé), et l'hexadécimal est une façon courte d'écrire ces bits.

Ce que vaut chaque place. Connaître par cœur les puissances de 2 jusqu'à 128 t'évite presque tous les calculs.
Position (de droite à gauche)Valeur en binaireValeur en hexadécimal
1re11
2e216
3e4256
4e84 096
5e1665 536
6e321 048 576
7e6416 777 216
8e128268 435 456

Du binaire au décimal, à la main

On écrit chaque chiffre avec la valeur de sa place et on additionne uniquement les places où il y a un 1. Exemple avec 1101 : de droite à gauche, les places valent 1, 2, 4 et 8.

  1. Écris le nombre et, dessous, la valeur de chaque position : 1 1 0 1 au-dessus de 8 4 2 1.
  2. Regarde ce qu'il y a à chaque place : un 1 à la place du 8, un 1 à celle du 4, un 0 à celle du 2 et un 1 à celle du 1.
  3. Ignore les places qui contiennent un 0 (ici, celle du 2).
  4. Additionne : 8 + 4 + 0 + 1 = 13. Donc 1101 en binaire vaut 13 en décimal.

Avec plus de chiffres, c'est pareil : 11111111 donne 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, la plus grande valeur qui tienne sur 8 bits. Et 10110110 donne 128 + 32 + 16 + 4 + 2 = 182.

Du décimal au binaire, par divisions successives

On divise le nombre par 2 encore et encore, en notant le reste de chaque division (toujours 0 ou 1), jusqu'à obtenir un quotient de 0. Les restes, lus de bas en haut, forment le nombre binaire. Exemple avec 45 :

En lisant les restes de bas en haut, on obtient 101101. Pour vérifier, additionne : 32 + 8 + 4 + 1 = 45.

Il existe une autre méthode que beaucoup préfèrent : soustraire des puissances de 2, de la plus grande à la plus petite. Pour 200 : le 128 entre (il reste 72), le 64 entre (il reste 8), 32 et 16 n'entrent pas, mais le 8 oui (il reste 0). Les places utilisées sont 128, 64 et 8, donc 200 = 11001000.

Hexadécimal : seize chiffres et un tableau à garder sous la main

Comme il n'existe pas de chiffres pour 10 à 15, on utilise les lettres A, B, C, D, E et F. Un chiffre hexadécimal équivaut exactement à quatre bits (un « quartet »), et c'est pourquoi il est si pratique : un octet, de 8 bits, s'écrit avec seulement deux chiffres hexadécimaux.

Pour passer de l'hexadécimal au décimal, multiplie chaque chiffre par la puissance de 16 de sa place et additionne. Par exemple, 3F = 3 × 16 + 15 = 63 et A3 = 10 × 16 + 3 = 163.

De 0 à 15 dans les quatre bases que l'outil affiche.
DécimalBinaire (4 bits)OctalHexadécimal
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Pourquoi on utilise l'hexadécimal : octets, couleurs et adresses

Un octet fait 8 bits et va de 0 à 255 (00000000 à 11111111). Écrire des bits à la main est lent et source d'erreurs ; en hexadécimal, le même octet tient sur deux caractères, de 00 à FF. Pour passer du binaire à l'hexadécimal, sépare les bits en groupes de quatre à partir de la droite et remplace chaque groupe par son chiffre du tableau. Exemple : 11010111 se coupe en 1101 et 0111, qui sont D et 7, donc il vaut D7. En décimal, cela donne 13 × 16 + 7 = 215.

Le cas le plus connu, ce sont les couleurs web. Dans #FF8800, il y a trois octets : FF pour le rouge (255), 88 pour le vert (136) et 00 pour le bleu (0). C'est un orange vif : tout le rouge, un peu plus de la moitié du vert et pas de bleu. L'hexadécimal apparaît aussi dans les adresses mémoire, les codes d'erreur et les identifiants réseau.

Du texte au binaire avec l'ASCII

Un ordinateur stocke chaque lettre sous forme de nombre, et ce nombre sous forme de bits. Dans la table ASCII, le A vaut 65, soit 01000001 en binaire sur 8 bits. Le mot « Hi » compte deux lettres : H vaut 72 (01001000) et i vaut 105 (01101001), donc il s'écrit 01001000 01101001. Avec « Hola », ce sont 72, 111, 108 et 97, c'est-à-dire 01001000 01101111 01101100 01100001, ou en hexadécimal 48 6F 6C 61.

L'outil utilise l'encodage UTF-8 : pour les lettres de base de l'anglais, chaque caractère occupe un octet de 8 bits, mais un é, un ñ ou un émoji occupent plusieurs octets et donnent donc plus de 8 bits. Par exemple, le ñ fait deux octets : 11000011 10110001 (C3 B1 en hexadécimal).

Comment faire tout cela avec l'outil

Le convertisseur « Binaire, décimal et hexadécimal » sert à vérifier tes calculs à la main ou à résoudre de longs nombres sans erreur.

  1. Écris le nombre dans le champ de sa base : « Décimal (base 10) », « Binaire (base 2) », octal ou « Hexadécimal (base 16) ». Les trois autres se remplissent tout seuls.
  2. Si le chiffre ne correspond pas à la base (un 2 en binaire, par exemple), l'outil te le signale.
  3. Pour du texte, écris-le dans le champ « Texte » et regarde « Binaire (8 bits par caractère) » et l'hexadécimal par octets. Tu peux aussi coller des bits par groupes de 8 pour revenir au texte.
  4. Pour les bases moins courantes, utilise « N'importe quelle base (de 2 à 36) » : tu choisis la base de départ, la base d'arrivée et le nombre.

Les limites : il ne convertit que des entiers positifs ou nuls (sans décimales ni signe) et n'ajoute pas de zéros à gauche à ta place ; si tu veux 8 bits fixes, tu dois compléter à la main (13 donne 00001101). Rien de ce que tu écris ne quitte ton navigateur.

Erreurs courantes

Exercices résolus pour s'entraîner

Essaie de résoudre chacun avant de regarder la réponse, puis vérifie avec l'outil.

Questions fréquentes

Comment passer 1101 du binaire au décimal ?

Tu additionnes les valeurs des places où il y a un 1 : 8 + 4 + 1 = 13. Le deuxième chiffre en partant de la droite est un 0, donc le 2 n'est pas additionné.

Combien font 255 en binaire et en hexadécimal ?

255 s'écrit 11111111 en binaire et FF en hexadécimal. C'est la plus grande valeur qui tienne dans un octet de 8 bits.

Pourquoi l'hexadécimal utilise-t-il des lettres ?

Parce qu'il lui faut seize symboles différents et que le système décimal n'en fournit que dix (0 à 9). C'est pourquoi A vaut 10, B vaut 11, C vaut 12, D vaut 13, E vaut 14 et F vaut 15.

Combien de nombres différents peut-on écrire avec 8 bits ?

256, de 0 à 255. En général, avec n bits, on peut représenter 2 puissance n valeurs.

L'outil convertit-il les nombres négatifs ou à virgule ?

Non, uniquement les entiers positifs ou nuls. Pour le texte, il utilise l'UTF-8 : les lettres accentuées et les émojis donnent donc plus de 8 bits.