Convertir binaire en décimal (et hexa) : étape par étape

Pour convertir binaire en décimal, multipliez chaque bit par sa valeur de position et additionnez les résultats. Les valeurs de position sont des puissances de 2 qui doublent de droite à gauche : 1, 2, 4, 8, 16, etc. Par exemple, 1011 en binaire vaut 1×8 + 0×4 + 1×2 + 1×1 = 8 + 0 + 2 + 1 = 11.

Essayez gratuitement : Convertisseur de base entière Gratuit, sans création de compte.

Ce guide montre comment convertir binaire en décimal avec deux méthodes, comment faire l'inverse, du décimal au binaire, ce qu'est l'hexadécimal et pourquoi les programmeurs l'utilisent, et comment passer du binaire à l'hexadécimal ou à l'octal sans calculatrice. Chaque exemple ci-dessous a été vérifié avec du code. Pour contrôler vos propres nombres au fil de la lecture, collez-les dans le convertisseur binaire gratuit.

Lire le binaire : les valeurs de position

Le code binaire est une information écrite avec seulement deux symboles, 0 et 1. Les ordinateurs l'utilisent parce que leurs circuits fonctionnent avec deux états, par exemple une tension basse et une tension haute. Chaque chiffre binaire s'appelle un bit, et un groupe de 8 bits forme un octet.

Le binaire est un système positionnel, comme le décimal. En décimal, chaque position vaut 10 fois celle située à sa droite (unités, dizaines, centaines). En binaire, chaque position vaut 2 fois celle située à sa droite :

Position (depuis la droite) 8e 7e 6e 5e 4e 3e 2e 1re
Puissance de 2 2⁷ 2⁶ 2⁵ 2⁴ 2⁰
Valeur de position 128 64 32 16 8 4 2 1

Un 1 signifie « compter cette valeur » et un 0 signifie « l'ignorer ».

Convertir binaire en décimal étape par étape

Méthode 1 : additionner les valeurs de position

Prenons le nombre binaire 11010110. Écrivez les valeurs de position sous les bits, gardez celles où le bit vaut 1 et additionnez-les :

Bit 1 1 0 1 0 1 1 0
Valeur de position 128 64 32 16 8 4 2 1
Bit × valeur 128 64 0 16 0 4 2 0

128 + 64 + 16 + 4 + 2 = 214. Donc 11010110₂ = 214₁₀. Le petit indice indique la base lorsqu'elle n'est pas évidente.

Méthode 2 : doubler et ajouter

Cette méthode ne demande aucun tableau. Partez de 0, puis lisez les bits de gauche à droite : doublez le total courant et ajoutez le bit en cours.

Pour 101101 :

  1. 0 × 2 + 1 = 1
  2. 1 × 2 + 0 = 2
  3. 2 × 2 + 1 = 5
  4. 5 × 2 + 1 = 11
  5. 11 × 2 + 0 = 22
  6. 22 × 2 + 1 = 45

Donc 101101₂ = 45. Vérification avec la méthode 1 : 32 + 8 + 4 + 1 = 45.

Convertir un nombre décimal en binaire

Divisions successives par 2

Divisez le nombre par 2, notez le reste (0 ou 1) et recommencez avec le quotient jusqu'à obtenir 0. Lisez ensuite les restes de bas en haut. Voici l'exemple de 156 :

Division Quotient Reste
156 ÷ 2 78 0
78 ÷ 2 39 0
39 ÷ 2 19 1
19 ÷ 2 9 1
9 ÷ 2 4 1
4 ÷ 2 2 0
2 ÷ 2 1 0
1 ÷ 2 0 1

En lisant vers le haut, on obtient 156 = 10011100₂. Vérification : 128 + 16 + 8 + 4 = 156. L'erreur la plus fréquente consiste à lire les restes de haut en bas, ce qui donne les bits dans l'ordre inverse.

Soustraire des puissances de 2

Pour les petits nombres, il est souvent plus rapide de prendre la plus grande puissance de 2 qui tient dans le nombre, de la soustraire et de recommencer. Pour 100 : 64 tient (100 − 64 = 36), puis 32 (36 − 32 = 4), puis 4 (4 − 4 = 0). Placez un 1 sous 64, 32 et 4, et un 0 partout ailleurs : 100 = 1100100₂.

Qu'est-ce que l'hexadécimal ?

L'hexadécimal (hexa) est la base 16. Comme il lui faut 16 chiffres, il utilise après 0–9 les lettres A–F pour les valeurs 10 à 15 : A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Chaque position vaut 16 fois celle située à sa droite : 1, 16, 256, 4 096, etc.

Les programmeurs utilisent l'hexadécimal parce qu'il correspond exactement au binaire. Quatre bits offrent 16 combinaisons possibles (0000 à 1111) : un chiffre hexadécimal représente donc exactement 4 bits, et deux chiffres hexadécimaux forment exactement un octet. Le plus grand octet, 11111111, s'écrit simplement FF en hexadécimal, alors qu'en décimal il vaut 255, un nombre qui ne laisse pas voir la suite de bits. C'est pourquoi les adresses mémoire, les codes couleur, les adresses MAC et les adresses IPv6 s'écrivent en hexadécimal.

Convertir l'hexadécimal en décimal

Appliquez la même méthode des valeurs de position avec des puissances de 16, en remplaçant les lettres par leur valeur :

Convertir un nombre décimal en hexadécimal

Le passage du décimal à l'hexadécimal fonctionne comme celui du décimal au binaire, mais on divise par 16. Les restes de 10 à 15 deviennent les lettres A à F. Voici l'exemple de 1000 :

Division Quotient Reste
1000 ÷ 16 62 8
62 ÷ 16 3 14 = E
3 ÷ 16 0 3

En lisant les restes de bas en haut, on obtient 1000 = 3E8₁₆. Vérification : 3 × 256 + 14 × 16 + 8 = 768 + 224 + 8 = 1000.

Du binaire à l'hexadécimal : grouper les bits par quatre

Comme un chiffre hexadécimal correspond à quatre bits, convertir du binaire en hexadécimal ne demande aucun calcul. Découpez le nombre binaire en groupes de quatre bits (appelés quartets, ou nibbles), en partant de la droite, puis remplacez chaque groupe à l'aide de ce tableau :

Binaire Hexa Décimal Binaire Hexa Décimal
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 A 10
0011 3 3 1011 B 11
0100 4 4 1100 C 12
0101 5 5 1101 D 13
0110 6 6 1110 E 14
0111 7 7 1111 F 15

Exemples :

La conversion de l'hexadécimal en binaire se fait en sens inverse : remplacez chaque chiffre hexadécimal par ses quatre bits. 3E8 → 0011 1110 1000 → 1111101000 une fois les zéros de tête supprimés.

L'octal en bref

L'octal est la base 8 et utilise les chiffres 0–7. Il fonctionne comme l'hexadécimal, mais avec des groupes de trois bits, car 2³ = 8. Son usage le plus connu aujourd'hui concerne les permissions de fichiers Unix. Dans chmod 755, chaque chiffre représente trois bits de permission (lecture, écriture, exécution) :

755 en octal correspond donc à la suite de bits 111 101 101, soit 493 en décimal. Le Calculateur Chmod transforme les cases de permissions cochées en nombre octal, ou indique quelles permissions définit un nombre comme 755.

Où l'on rencontre ces conversions

Préfixes : 0b, 0x et 0o

Dans le code, un préfixe indique au compilateur la base utilisée par un littéral numérique :

Préfixe Base Exemple Valeur décimale
0b Binaire (2) 0b1011 11
0o Octal (8) 0o755 493
0x Hexadécimal (16) 0x3E8 1000

0x fonctionne dans presque tous les langages. 0b est pris en charge par Python, JavaScript, Java, C# et C++. 0o est utilisé par Python et JavaScript, tandis que C et C++ écrivent l'octal avec un simple zéro initial : en C, 0755 vaut donc 493, et non 755.

La plupart des langages savent aussi convertir des chaînes pour vous :

# Python
int("1011", 2)      # 11
bin(156)            # '0b10011100'
hex(1000)           # '0x3e8'
int("3E8", 16)      # 1000

// JavaScript
parseInt("1011", 2)     // 11
(1000).toString(16)     // "3e8"
Number("0b1011")        // 11

Un piège : en JavaScript, parseInt("0b1011") renvoie 0, car parseInt s'arrête au premier caractère qu'il ne sait pas lire et ne comprend pas le préfixe 0b. Retirez le préfixe et passez plutôt la base (radix) en argument, comme l'explique la référence MDN de parseInt.

Une remarque sur les nombres négatifs

Les ordinateurs stockent généralement les entiers négatifs en complément à deux. Pour écrire −5 sur 8 bits, partez de 5 = 00000101, inversez chaque bit pour obtenir 11111010, puis ajoutez 1 : 11111011. Lu comme un nombre non signé, le même motif vaut 251 (256 − 5), soit FB en hexadécimal. C'est pourquoi un même octet peut signifier −5 ou 251 selon que le programme le traite comme signé ou non.

Table de conversion binaire, décimal, octal et hexadécimal

Décimal Binaire Octal Hexa
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
32 100000 40 20
64 1000000 100 40
100 1100100 144 64
127 1111111 177 7F
128 10000000 200 80
255 11111111 377 FF
256 100000000 400 100

Convertir n'importe quelle base avec le convertisseur binaire

Le convertisseur binaire gratuit fonctionne dans votre navigateur. Saisissez un nombre et indiquez sa base : il affiche aussitôt la valeur en binaire, en octal, en décimal et en hexadécimal, ainsi que dans une base de sortie personnalisée.

Quelques limites à connaître : il ne convertit que les nombres entiers positifs ou nuls, donc un signe moins ou un séparateur décimal est refusé ; la sortie hexadécimale est en minuscules et sans zéros de tête ; enfin, la ligne « Base64 (64) » est un nombre en base 64 qui utilise les chiffres 0–9, a–z, A–Z, + et /, et non l'encodage de texte Base64.

Questions fréquentes (FAQ)

Quel est le plus grand nombre que l'on peut stocker sur 8 bits ?

255, soit 11111111 en binaire ou FF en hexadécimal. Huit bits offrent 2⁸ = 256 combinaisons différentes, qui couvrent les valeurs de 0 à 255. Seize bits permettent d'aller jusqu'à 65 535, et chaque bit supplémentaire double la plage.

Pourquoi les programmeurs utilisent-ils l'hexadécimal plutôt que le décimal ?

Comme chaque chiffre hexadécimal correspond exactement à quatre bits, on lit la suite de bits directement à partir des chiffres hexadécimaux. Un octet s'écrit toujours avec deux chiffres hexadécimaux (00 à FF). Le décimal n'offre pas cette correspondance : 255 et 256 se ressemblent en décimal, mais s'écrivent 11111111 et 100000000 en binaire.

Comment convertir une fraction binaire en décimal ?

Les bits situés après la virgule binaire valent 1/2, 1/4, 1/8, etc. Ainsi, 101.11₂ = 4 + 1 + 0,5 + 0,25 = 5,75. De nombreuses fractions décimales, comme 0,1, n'ont pas de représentation binaire exacte : c'est pourquoi 0.1 + 0.2 ne vaut pas exactement 0.3 dans la plupart des langages de programmation. Le convertisseur binaire ne traite que les nombres entiers.

Le code binaire est-il la même chose que l'ASCII ?

Non. Le binaire est un système de numération ; l'ASCII est une table qui attribue un nombre à chaque caractère. La lettre A a le code ASCII 65, et ce nombre est stocké sous la forme des bits 01000001.

Essayez gratuitement : Convertisseur de base entière Gratuit, sans création de compte.