Aller au contenu

Convertisseur binaire, décimal, hexadécimal et texte

Le binaire est le système de numération en base 2 : il n'utilise que deux chiffres, 0 et 1, et chaque position vaut une puissance de 2. Le convertisseur ci-dessous passe du décimal au binaire et inversement, gère l'hexadécimal et l'octal, traduit un texte en binaire, et rédige chaque division ou chaque somme de puissances.

Conversion de base

Étapes de résolution

  1. Divisions euclidiennes successives par 2, jusqu’à obtenir un quotient nul
    DivisionQuotientReste
    45 = 2 × 22 + 1221
    22 = 2 × 11 + 0110
    11 = 2 × 5 + 151
    5 = 2 × 2 + 121
    2 = 2 × 1 + 010
    1 = 2 × 0 + 101
  2. On lit les restes de bas en haut4510 = 1011012

4510 = 1011012

Choisissez le sens de conversion avec les boutons, puis saisissez un entier positif : 45 en décimal, 101101 en binaire, 7E8 en hexadécimal. En mode « Texte ↔ binaire », tapez un mot pour obtenir ses octets, ou collez des octets séparés par des espaces pour retrouver le texte.

Comprendre le système binaire

En base 10, le nombre 345 signifie 3 × 100 + 4 × 10 + 5 × 1 : chaque rang vaut dix fois le précédent. En base 2, chaque rang vaut deux fois le précédent, et l'on n'a besoin que des chiffres 0 et 1. Un chiffre binaire s'appelle un bit (de l'anglais binary digit).

Rang109876543210
Puissance21029282726252423222120
Valeur1 0245122561286432168421

Pour éviter toute confusion, on note la base en indice : 1012 = 510, alors que 101 en base 10 vaut cent un. Les règles de calcul sur les puissances sont utiles pour tout ce qui suit.

Convertir un nombre décimal en binaire

Par divisions successives par 2

On divise le nombre par 2, on note le reste, on recommence avec le quotient jusqu'à obtenir 0, puis on lit les restes de bas en haut. Le premier reste obtenu est le bit de droite, celui des unités. Chaque étape est une division euclidienne, comme en arithmétique.

Exemple : écrire 45 en binaire

  1. Divisions euclidiennes successives par 2, jusqu’à obtenir un quotient nul
    DivisionQuotientReste
    45 = 2 × 22 + 1221
    22 = 2 × 11 + 0110
    11 = 2 × 5 + 151
    5 = 2 × 2 + 121
    2 = 2 × 1 + 010
    1 = 2 × 0 + 101
  2. On lit les restes de bas en haut4510 = 1011012

4510 = 1011012

Par soustraction des puissances de 2

Pour de petits nombres, on peut retirer la plus grande puissance de 2 possible, puis recommencer. Pour 45 : 45 − 32 = 13, 13 − 8 = 5, 5 − 4 = 1, 1 − 1 = 0. On a utilisé 32, 8, 4 et 1, c'est-à-dire les rangs 5, 3, 2 et 0 : on met un 1 à ces rangs et un 0 ailleurs, ce qui donne 101101.

Convertir un nombre binaire en décimal

On multiplie chaque bit par la puissance de 2 de son rang, en numérotant les rangs à partir de 0 à droite, puis on additionne. En pratique, il suffit d'additionner les puissances de 2 placées sous les 1.

11012 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = 8 + 4 + 1 = 13

Exemple : convertir 101101 en décimal

  1. Chaque chiffre est multiplié par la puissance de 2 de son rang (rang 0 à droite)1011012 = 1 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20
  2. On calcule les puissances et on additionne1011012 = 32 + 0 + 8 + 4 + 0 + 1 = 4510

1011012 = 4510

Compter en binaire de 0 à 15

DécimalBinaire (4 bits)HexadécimalDécimalBinaire (4 bits)Hexadécimal
000000810008
100011910019
200102101010A
300113111011B
401004121100C
501015131101D
601106141110E
701117151111F

Quelques réflexes se lisent dans ce tableau : un nombre est pair si et seulement si son dernier bit est 0 ; ajouter un 0 à droite multiplie par 2 (1011 vaut 11, 10110 vaut 22) ; et 2n − 1 s'écrit avec n chiffres 1 (1111 vaut 15).

Les nombres de la forme 2n − 1 sont étudiés pour leurs liens avec les nombres premiers : 3 (11), 7 (111), 31 (11111) et 127 (1111111) sont premiers, mais pas 15 (1111 = 3 × 5) ni 63 (111111). Une puissance de 2, elle, s'écrit 1 suivi de zéros : sa décomposition en facteurs premiers ne contient que des 2, comme 1 048 576 = 220, qui s'écrit 1 suivi de vingt 0.

L'hexadécimal, ou base 16

La base 16 utilise seize chiffres : 0 à 9, puis A (10), B (11), C (12), D (13), E (14) et F (15). On convertit un nombre décimal en hexadécimal par divisions successives par 16, en remplaçant les restes de 10 à 15 par leur lettre.

Exemple : 2 024 en hexadécimal

  1. Divisions euclidiennes successives par 16, jusqu’à obtenir un quotient nul
    DivisionQuotientReste
    2 024 = 16 × 126 + 81268
    126 = 16 × 7 + 14714 → E
    7 = 16 × 0 + 707
  2. On lit les restes de bas en haut (les restes de 10 à 15 s’écrivent A à F)2 02410 = 7E816

2 02410 = 7E816

L'hexadécimal est surtout un raccourci du binaire. Comme 16 = 24, un chiffre hexadécimal correspond exactement à un paquet de 4 bits. Pour convertir, on découpe le nombre binaire par paquets de 4 en partant de la droite, en complétant à gauche par des 0 : 101101 devient 0010 1101, soit 2D.

Exemple : du binaire à l’hexadécimal par paquets de 4 bits

  1. On regroupe les chiffres binaires par paquets de 4, en partant de la droite (24 = 16)
    Paquet de 4 bits11111111
    Chiffre en base 16FF
  2. On écrit le résultat (sans les zéros de tête)111111112 = FF16

111111112 = FF16

On croise l'hexadécimal dans les codes couleur du Web : #FF8000 désigne la couleur dont les composantes rouge, verte et bleue valent FF = 255, 80 = 128 et 00 = 0, c'est-à-dire un orange. La base 8 (octal) suit la même logique avec des paquets de 3 bits : 7778 = 111 111 1112 = 511.

Bit, octet et capacité

Un octet est un groupe de 8 bits. Avec n bits, on forme 2n combinaisons différentes :

Nombre de bitsCombinaisonsEntiers codables
4 bits24 = 16de 0 à 15
8 bits (1 octet)28 = 256de 0 à 255
16 bits (2 octets)216 = 65 536de 0 à 65 535

Pour les capacités, le préfixe kilo signifie 1 000 dans le Système international : 1 ko = 1 000 octets. Le préfixe binaire kibi désigne 210 = 1 024 : 1 Kio = 1 024 octets.

Code binaire d'un texte : ASCII et UTF-8

Un ordinateur ne stocke pas des lettres, mais des nombres. Le code ASCII associe un nombre de 0 à 127 à chaque caractère de base ; écrit en binaire sur un octet, il donne le « code binaire » du caractère.

CaractèreCode décimalOctet
A6501000001
a9701100001
0 (chiffre)4800110000
espace3200100000

Une majuscule et sa minuscule diffèrent de 32 : un seul bit change. Pour traduire du binaire en texte, on découpe en octets et l'on convertit chacun : 01001000 01101001 donne 72 et 105, soit « Hi ». Les lettres accentuées ne font pas partie de l'ASCII ; en UTF-8, le codage le plus répandu sur le Web, é occupe deux octets, 11000011 10101001. Le mode « Texte ↔ binaire » de l'outil fait cette traduction dans les deux sens.

On parle parfois de « langage binaire ». Il ne s'agit pas d'une langue à apprendre, mais de la représentation en bits de toutes les données et instructions qu'un processeur manipule.

Additionner en binaire

On pose l'addition comme en base 10, avec des retenues : 0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 10 (on écrit 0 et on retient 1), 1 + 1 + 1 = 11. Exemple : 101 + 011 = 1000, ce qui correspond bien à 5 + 3 = 8. Vérifier en repassant en décimal est le meilleur contrôle.

Les erreurs fréquentes

  • Lire les restes de haut en bas : on obtient le nombre à l'envers. Le premier reste est le bit des unités.
  • Oublier les restes nuls : chaque 0 compte. 45 s'écrit 101101, pas 1111.
  • Numéroter les rangs à partir de 1 : le bit de droite est au rang 0 et vaut 20 = 1.
  • Découper par la gauche pour passer en hexadécimal : les paquets de 4 bits se forment à partir de la droite.
  • Confondre 102 et 10 : en binaire, 10 vaut deux.

Pour vérifier une conversion décimal → binaire, faites la conversion inverse : additionnez les puissances de 2 sous les 1 et retrouvez le nombre de départ.

Le convertisseur fait partie des outils du solveur mathématique ; pour les calculs avec puissances et fonctions, utilisez la calculatrice scientifique en ligne.

Questions fréquentes

Comment convertir un nombre décimal en binaire ?

Divisez le nombre par 2, notez le reste (0 ou 1), puis divisez le quotient par 2, et ainsi de suite jusqu'à obtenir un quotient nul. Lisez ensuite les restes de bas en haut. Pour 13 : restes 1, 0, 1, 1, donc 13 s'écrit 1101 en binaire.

Comment lire un nombre binaire ?

Chaque chiffre est associé à une puissance de 2, en partant de 20 = 1 à droite : 1, 2, 4, 8, 16… On additionne les puissances qui correspondent à un chiffre 1. Ainsi 1101 vaut 8 + 4 + 0 + 1 = 13.

Comment traduire un texte en binaire ?

Chaque caractère a un code numérique : A vaut 65, a vaut 97, l'espace vaut 32 (code ASCII). On écrit chaque code en binaire sur 8 bits, un octet : A donne 01000001. Les lettres accentuées utilisent plusieurs octets en UTF-8 : é donne 11000011 10101001.

Combien de valeurs peut-on coder sur un octet ?

Un octet compte 8 bits, soit 28 = 256 combinaisons : on peut coder les entiers de 0 (00000000) à 255 (11111111). Plus généralement, n bits donnent 2n valeurs, de 0 à 2n − 1.

Pourquoi les ordinateurs utilisent-ils le binaire ?

Parce que leurs circuits électroniques distinguent de façon fiable deux états, par exemple une tension basse ou haute. Ces deux états sont notés 0 et 1. Nombres, textes, images et instructions sont tous codés par des suites de bits.

À lire aussi