Convertisseurs

Comment convertir le binaire en décimal : 3 méthodes avec exemples et code

Apprenez à convertir le binaire en décimal avec trois méthodes : notation positionnelle, Double Dabble et tables de référence. Inclut le binaire signé (complément à deux), les fractions binaires, du code Python/JavaScript/C et les erreurs courantes à éviter.

Publié sur 19 mars 2026
13 min lire
Guides CaesarCipher.org

Comment convertir le binaire en décimal : 3 méthodes avec exemples et code

La conversion du binaire vers le décimal est l'une des compétences les plus fondamentales en informatique et en électronique numérique. Que vous déboguiez des paquets réseau, lisiez des sorties de capteurs ou prépariez un examen d'informatique, vous devez pouvoir traduire entre le langage binaire utilisé par les ordinateurs et le système décimal dans lequel les humains raisonnent naturellement.

Ce guide vous apprend trois méthodes distinctes pour convertir le binaire en décimal, depuis l'approche formelle de la notation positionnelle jusqu'à un raccourci de calcul mental qui permet de convertir des nombres sur 8 bits en quelques secondes. Nous couvrons aussi le binaire signé (complément à deux), les fractions binaires et du code fonctionnel dans trois langages. Essayez notre convertisseur binaire vers décimal gratuit pour suivre les exemples ci-dessous.

Comprendre le système binaire

Avant d'apprendre les méthodes de conversion, il est utile de comprendre pourquoi le binaire existe et comment il se rapporte au décimal.

Pourquoi les ordinateurs utilisent le binaire

Les ordinateurs numériques sont construits avec des milliards de transistors, chacun agissant comme un petit interrupteur à deux états : activé ou désactivé. Ces deux états correspondent naturellement aux deux chiffres binaires (bits) : 1 et 0. Même s'il est théoriquement possible de construire des ordinateurs avec d'autres bases numériques (des ordinateurs ternaires ont existé), le matériel binaire est immensément plus simple, moins cher et plus fiable. Chaque donnée avec laquelle vous interagissez, texte, images, vidéo, audio, est finalement stockée et traitée comme des séquences de chiffres binaires.

Notation positionnelle

Le binaire et le décimal sont tous deux des systèmes numériques positionnels, ce qui signifie que la valeur de chaque chiffre dépend de sa position. En décimal, les positions représentent des puissances de 10 :

  • 347 = 3 × 10² + 4 × 10¹ + 7 × 10&sup0; = 300 + 40 + 7

En binaire, les positions représentent des puissances de 2 :

  • 1011 = 1 × 2³ + 0 × 2² + 1 × 2¹ + 1 × 2&sup0; = 8 + 0 + 2 + 1 = 11

Les puissances clés de 2 à mémoriser :

PositionPuissance de 2Valeur décimale
02^01
12^12
22^24
32^38
42^416
52^532
62^664
72^7128
82^8256
92^9512
102^101 024
152^1532 768
162^1665 536
312^312 147 483 648

Méthode 1 : notation positionnelle (méthode des puissances de 2)

C'est la méthode standard des manuels et l'approche la plus enseignée pour convertir le binaire en décimal.

L'algorithme

  1. Écrivez le nombre binaire avec chaque chiffre dans sa propre colonne.
  2. Étiquetez chaque position avec sa puissance de 2, en partant de 2^0 à droite.
  3. Multipliez chaque bit par sa puissance de 2 correspondante.
  4. Additionnez tous les produits. La somme est la valeur décimale.

Exemple 1 : convertir 1101 en décimal

Bit1101
Position3210
Puissance2^3=82^2=42^1=22^0=1
Produit8401

Somme : 8 + 4 + 0 + 1 = 13

Exemple 2 : convertir 10110110 en décimal

Bit10110110
Position76543210
Puissance1286432168421
Produit128032160420

Somme : 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182

Exemple 3 : convertir 1111111111111111 (16 bits, tous à 1) en décimal

Lorsque tous les bits valent 1, le résultat est 2^n - 1, où n est le nombre de bits :

2^16 - 1 = 65 536 - 1 = 65 535

C'est la valeur maximale d'un entier non signé sur 16 bits, courante en réseau (les numéros de ports vont de 0 à 65 535).

Quand utiliser cette méthode

La notation positionnelle est idéale pour :

  • Les travaux écrits formels et les examens
  • Les nombres binaires courts (jusqu'à environ 8 bits à la main)
  • Comprendre la base mathématique
  • Enseigner et expliquer le concept à d'autres personnes

Méthode 2 : Double Dabble (méthode du doublement)

La méthode Double Dabble est un raccourci de calcul mental qui traite le nombre binaire de gauche à droite. Elle évite d'avoir à calculer ou mémoriser de grandes puissances de 2.

L'algorithme

  1. Commencez par le bit le plus à gauche (le plus significatif).
  2. Initialisez le total courant avec la valeur du premier bit (0 ou 1).
  3. Pour chaque bit suivant : doublez le total courant et ajoutez le bit actuel.
  4. Après le dernier bit, le total courant est la valeur décimale.

Exemple 1 : convertir 11010 en décimal

ÉtapeOpérationTotal courant
1Commencer par le bit 11
2Doubler + bit 12 + 1 = 3
3Doubler + bit 06 + 0 = 6
4Doubler + bit 112 + 1 = 13
5Doubler + bit 026 + 0 = 26

Résultat : 11010 = 26

Exemple 2 : convertir 10110011 en décimal

ÉtapeOpérationTotal courant
1Commencer par le bit 11
2Doubler + bit 02 + 0 = 2
3Doubler + bit 14 + 1 = 5
4Doubler + bit 110 + 1 = 11
5Doubler + bit 022 + 0 = 22
6Doubler + bit 044 + 0 = 44
7Doubler + bit 188 + 1 = 89
8Doubler + bit 1178 + 1 = 179

Résultat : 10110011 = 179

Pourquoi cela fonctionne

Doubler le total courant équivaut mathématiquement à décaler tous les bits déjà traités d'une position vers la gauche (multiplier par 2). Lorsque vous ajoutez le nouveau bit, vous le placez dans la position des unités. Cela reproduit le calcul de notation positionnelle sans jamais calculer explicitement les puissances de 2.

Algébriquement, pour le nombre binaire b3 b2 b1 b0 :

  • Départ : b3
  • Étape 2 : 2×b3 + b2
  • Étape 3 : 2×(2×b3 + b2) + b1 = 4×b3 + 2×b2 + b1
  • Étape 4 : 2×(4×b3 + 2×b2 + b1) + b0 = 8×b3 + 4×b2 + 2×b1 + b0

C'est identique à la formule de notation positionnelle.

Quand utiliser cette méthode

Double Dabble est idéal pour :

  • Le calcul mental (sans papier ni calculatrice)
  • Les longs nombres binaires où suivre les puissances de 2 devient fastidieux
  • Les conversions rapides pendant le débogage ou les entretiens
  • Les situations où vous traitez les bits séquentiellement (comme la lecture depuis une interface série)

Méthode 3 : utiliser une table de référence

Pour les valeurs que vous rencontrez souvent, une table de référence permet une recherche instantanée sans aucun calcul.

Référence rapide : puissances de 2

BinaireDécimal
11
102
1004
10008
1000016
10000032
100000064
10000000128
100000000256

Valeurs courantes sur 8 bits

BinaireDécimalSignification
000000000Zéro / octet nul
000000011Bit le plus faible défini
0000101010Caractère nouvelle ligne (LF)
0010000032Espace en ASCII
0010101042La Réponse (Hitchhiker's Guide)
0100000165'A' majuscule en ASCII
0110000197'a' minuscule en ASCII
01111111127Max signé 8 bits / DEL en ASCII
10000000128MSB défini / min signé 8 bits (-128)
11000000192Adresse réseau de classe C
11111111255Max non signé 8 bits / broadcast

Quand utiliser cette méthode

La recherche en table est idéale pour :

  • Les valeurs rencontrées répétitivement (codes ASCII, masques de sous-réseau, constantes courantes)
  • La référence rapide en examen ou en entretien
  • Développer l'intuition des motifs binaires correspondant aux valeurs décimales
  • Vérifier les résultats des deux autres méthodes

Pour une table interactive complète couvrant les 256 valeurs d'octet, consultez notre convertisseur binaire vers décimal.

Binaire signé : conversion en complément à deux

Le binaire non signé représente uniquement des valeurs non négatives. Pour représenter les nombres négatifs, les ordinateurs modernes utilisent universellement le complément à deux.

Fonctionnement du complément à deux

Dans un système en complément à deux sur n bits :

  • Si le MSB (bit le plus à gauche) vaut 0, le nombre est positif : lisez-le normalement
  • Si le MSB vaut 1, le nombre est négatif : utilisez la procédure suivante

Pour décoder un nombre négatif en complément à deux :

  1. Notez que le nombre est négatif (MSB = 1)
  2. Inversez tous les bits (0 devient 1 et 1 devient 0)
  3. Ajoutez 1 au résultat
  4. Convertissez le résultat en décimal et placez un signe moins devant

Exemple : convertir le binaire signé 8 bits 11101100

  1. Le MSB vaut 1, donc la valeur est négative
  2. Inversion : 11101100 → 00010011
  3. Ajouter 1 : 00010011 + 1 = 00010100
  4. Convertir 00010100 en décimal : 16 + 4 = 20
  5. Appliquer le signe négatif : -20

Exemple : convertir le binaire signé 8 bits 01010110

  1. Le MSB vaut 0, donc la valeur est positive
  2. Convertir normalement : 64 + 16 + 4 + 2 = 86

Plages du complément à deux

BitsPlage non signéePlage signée
80 à 255-128 à 127
160 à 65 535-32 768 à 32 767
320 à 4 294 967 295-2 147 483 648 à 2 147 483 647
640 à 18.4 × 10^18-9.2 × 10^18 à 9.2 × 10^18

L'avantage du complément à deux est que l'addition et la soustraction fonctionnent de la même façon pour les nombres signés et non signés au niveau matériel, ce qui simplifie la conception des CPU.

Fractions binaires : convertir la partie après le point

Les nombres binaires peuvent inclure une partie fractionnaire, séparée par un point binaire (analogue au point décimal). Les chiffres après le point binaire représentent des puissances négatives de 2.

Valeurs de position fractionnaires

PositionPuissanceValeur décimale
-12^(-1)0.5
-22^(-2)0.25
-32^(-3)0.125
-42^(-4)0.0625
-52^(-5)0.03125
-62^(-6)0.015625

Exemple : convertir 110.101 en décimal

Partie entière (110) :

  • 1 × 4 + 1 × 2 + 0 × 1 = 6

Partie fractionnaire (.101) :

  • 1 × 0.5 + 0 × 0.25 + 1 × 0.125 = 0.625

Total : 6 + 0.625 = 6.625

Exemple : convertir 1.001 en décimal

  • 1 × 1 = 1
  • 0 × 0.5 = 0
  • 0 × 0.25 = 0
  • 1 × 0.125 = 0.125

Total : 1 + 0 + 0 + 0.125 = 1.125

Le problème de précision

Toutes les fractions décimales n'ont pas de représentation binaire exacte. Par exemple, 0,1 en décimal est la fraction binaire périodique infinie 0.0001100110011... C'est pourquoi des expressions comme 0.1 + 0.2 ne valent pas exactement 0.3 dans la plupart des langages de programmation : la représentation binaire nécessite un arrondi, qui introduit de minuscules erreurs. Cette limite est inhérente à la représentation flottante binaire (IEEE 754), pas un bug d'un langage particulier.

Exemples de programmation

Python

# Basic conversion
binary_str = "10110011"
decimal_value = int(binary_str, 2)
print(decimal_value)  # 179

# Binary literal
x = 0b10110011
print(x)  # 179

# Convert decimal back to binary
print(bin(179))       # '0b10110011'
print(f"{179:08b}")   # '10110011' (padded to 8 bits)

# Two's complement (signed)
def signed_binary(binary_str, bits=8):
    """Convert a signed binary string to decimal using two's complement."""
    value = int(binary_str, 2)
    if value >= 2**(bits - 1):
        value -= 2**bits
    return value

print(signed_binary("11111001"))   # -7
print(signed_binary("10000000"))   # -128
print(signed_binary("01111111"))   # 127

# Binary fraction
def binary_fraction_to_decimal(binary_str):
    """Convert a binary string with optional fractional part to decimal."""
    if '.' in binary_str:
        integer_part, frac_part = binary_str.split('.')
        result = int(integer_part, 2) if integer_part else 0
        for i, bit in enumerate(frac_part):
            if bit == '1':
                result += 2 ** -(i + 1)
        return result
    return int(binary_str, 2)

print(binary_fraction_to_decimal("101.11"))   # 5.75
print(binary_fraction_to_decimal("1.001"))    # 1.125

JavaScript

// Basic conversion
const binaryStr = "10110011";
const decimal = parseInt(binaryStr, 2);
console.log(decimal);  // 179

// Binary literal
const x = 0b10110011;
console.log(x);  // 179

// Convert decimal back to binary
console.log((179).toString(2));             // '10110011'
console.log((179).toString(2).padStart(8, '0')); // '10110011'

// Two's complement (signed)
function signedBinary(binaryStr, bits = 8) {
  let value = parseInt(binaryStr, 2);
  if (value >= 2 ** (bits - 1)) {
    value -= 2 ** bits;
  }
  return value;
}

console.log(signedBinary("11111001"));   // -7
console.log(signedBinary("10000000"));   // -128
console.log(signedBinary("01111111"));   // 127

// For very large binary numbers, use BigInt
const bigBinary = "1111111111111111111111111111111111111111";
const bigDecimal = BigInt("0b" + bigBinary);
console.log(bigDecimal.toString());  // '1099511627775'

C

#include <stdio.h>
#include <string.h>

// Convert binary string to decimal (unsigned)
unsigned long binaryToDecimal(const char *binary) {
    unsigned long decimal = 0;
    int len = strlen(binary);
    for (int i = 0; i < len; i++) {
        decimal = decimal * 2 + (binary[i] - '0');
    }
    return decimal;
}

// Convert binary string to signed decimal (two's complement)
long signedBinaryToDecimal(const char *binary, int bits) {
    unsigned long value = binaryToDecimal(binary);
    if (value >= (1UL << (bits - 1))) {
        value -= (1UL << bits);
    }
    return (long)value;
}

int main() {
    printf("%lu\n", binaryToDecimal("10110011"));  // 179
    printf("%lu\n", binaryToDecimal("11111111"));   // 255

    printf("%ld\n", signedBinaryToDecimal("11111001", 8));  // -7
    printf("%ld\n", signedBinaryToDecimal("10000000", 8));  // -128
    printf("%ld\n", signedBinaryToDecimal("01111111", 8));  // 127

    return 0;
}

Notez que l'implémentation C de binaryToDecimal utilise l'algorithme Double Dabble en interne : decimal = decimal * 2 + (binary[i] - '0') est exactement "doubler le total courant et ajouter le bit actuel".

Erreurs courantes à éviter

Erreur 1 : lire les positions de bits de gauche à droite

Le bit le plus à droite est la position 0, pas celui de gauche. Le binaire 1000 vaut 8 (2^3), pas 1. Comptez toujours les positions de droite à gauche.

Erreur 2 : oublier que la position 0 vaut 1, pas 0

Le bit le plus à droite représente 2^0 = 1, pas 0. Les étudiants commencent parfois le comptage des puissances à 1 au lieu de 0, ce qui rend chaque valeur exactement moitié de la bonne réponse.

Erreur 3 : traiter le binaire signé comme non signé

Le binaire 8 bits 10000001 vaut 129 en non signé mais -127 en signé (complément à deux). Sachez toujours si vous travaillez avec une interprétation signée ou non signée. Dans la plupart des contextes de programmation, les types int sont signés par défaut.

Erreur 4 : supposer que toutes les fractions décimales ont une représentation binaire exacte

Le décimal 0.1 ne peut pas être représenté exactement en binaire : il devient une fraction périodique infinie (0.0001100110011...). C'est pourquoi 0.1 + 0.2 !== 0.3 en JavaScript, Python, C et presque tous les autres langages. Lorsque la précision compte, utilisez l'arithmétique entière (centimes au lieu de dollars) ou des types décimaux dédiés.

Erreur 5 : confondre binaire et décimal lorsque les nombres se ressemblent

Le binaire 1000 (= décimal 8) et le décimal 1000 (mille) ont la même apparence mais représentent des valeurs très différentes. Clarifiez toujours la base, surtout lorsque vous communiquez avec d'autres personnes. Dans le code, utilisez des préfixes : 0b1000 pour le binaire, 1000 sans préfixe pour le décimal.

Erreur 6 : débordement avec des largeurs de bits fixes

Une variable non signée 8 bits peut contenir 0-255. Ajouter 1 à 255 (11111111) déborde vers 0 (00000000). En signé 8 bits, ajouter 1 à 127 (01111111) déborde vers -128 (10000000). Vérifiez toujours si votre largeur de bits peut contenir la plage de valeurs attendue.

Erreur 7 : confondre binaire et BCD

Le binaire et le décimal codé binaire (BCD) produisent des motifs de bits différents pour le même nombre. Le décimal 42 en binaire standard est 101010 (6 bits), mais en BCD il vaut 0100 0010 (8 bits, chaque chiffre décimal étant encodé séparément sur 4 bits). Le BCD est moins efficace en espace mais conserve une représentation exacte des chiffres décimaux, ce qui explique sa présence dans certains matériels financiers et d'affichage.

Applications réelles de la conversion binaire vers décimal

Comprendre la conversion binaire-vers-décimal n'est pas seulement un exercice académique. Voici les situations les plus courantes où cette compétence est directement utile.

Ingénierie réseau

Les adresses IP comme 192.168.1.0 sont stockées en interne comme des nombres binaires de 32 bits. Le sous-réseautage exige de convertir entre masques de sous-réseau binaires et équivalents décimaux. Par exemple, le masque 255.255.255.0 vaut 11111111.11111111.11111111.00000000 en binaire : comprendre ce motif binaire est essentiel pour calculer les parties réseau et hôte d'une adresse.

Systèmes embarqués et IoT

Les microcontrôleurs et capteurs communiquent souvent avec des valeurs de registres binaires. Lorsque vous lisez un ADC 8 bits (convertisseur analogique-numérique), vous recevez une valeur binaire comme 10110100 qui doit être convertie en lecture de tension décimale (180 sur 255, mappée à une tension proportionnelle). Les interfaces de débogage affichent fréquemment le contenu mémoire en binaire, que les ingénieurs doivent interpréter.

Débogage et rétro-ingénierie

Lors du débogage logiciel bas niveau, les dumps mémoire, core files et états de registres sont affichés en binaire ou en hexadécimal. Les convertir en décimal aide à comprendre quelles valeurs sont réellement stockées. De même, analyser des formats de fichiers binaires, protocoles réseau ou données chiffrées exige une bonne maîtrise de la traduction binaire-vers-décimal.

Éducation informatique

La conversion binaire-vers-décimal est un sujet d'entrée qui mène à la compréhension de l'architecture CPU, de l'adressage mémoire, de l'algèbre booléenne et de la conception logique numérique. La maîtriser construit la base pour des sujets comme le langage assembleur, les systèmes d'exploitation et les réseaux informatiques.

Foire aux questions

Comment convertir le binaire 1010 en décimal ?

Binaire 1010 = (1 × 8) + (0 × 4) + (1 × 2) + (0 × 1) = 8 + 0 + 2 + 0 = 10. C'est un exemple courant, car la représentation binaire 1010 se convertit commodément en nombre décimal rond 10.

Quelle est la façon la plus rapide de convertir du binaire en décimal mentalement ?

Utilisez la méthode Double Dabble : partez du bit le plus à gauche, doublez le total courant et ajoutez chaque bit en allant vers la droite. Par exemple, 1101 : départ 1, double+1=3, double+0=6, double+1=13. Pas besoin de mémoriser les puissances de 2.

Quel est le plus grand nombre représentable avec 8 bits ?

En non signé sur 8 bits : 11111111 = 255 (2^8 - 1). En signé sur 8 bits (complément à deux) : 01111111 = 127 (2^7 - 1). La plage signée est -128 à 127, couvrant 256 valeurs au total.

Quel lien entre binaire et hexadécimal ?

Chaque chiffre hexadécimal représente exactement 4 bits binaires (puisque 16 = 2^4). Ainsi, binaire 11111111 = hex FF (décimal 255), et binaire 10101010 = hex AA (décimal 170). L'hex est largement utilisé comme raccourci compact du binaire. Pour la conversion hex-vers-binaire, consultez notre convertisseur hexadécimal vers binaire.

Quel lien entre binaire et octal ?

Chaque chiffre octal représente exactement 3 bits binaires (puisque 8 = 2^3). Binaire 111111111 = octal 777 (décimal 511). L'octal est utilisé dans les permissions de fichiers Unix (chmod). Pour plus de détails, consultez notre convertisseur binaire vers octal.

Pourquoi utilise-t-on le complément à deux plutôt que signe-magnitude ?

Le complément à deux a deux grands avantages par rapport à signe-magnitude (où le MSB est simplement un indicateur +/-) : (1) il n'existe qu'une seule représentation de zéro (en signe-magnitude, 00000000 et 10000000 valent tous deux zéro), et (2) l'addition et la soustraction utilisent le même circuit matériel pour les nombres positifs et négatifs, ce qui simplifie la conception CPU.

Peut-on convertir de très grands nombres binaires en décimal ?

Oui, les mêmes méthodes fonctionnent quelle que soit la longueur. Pour le calcul mental avec de grands nombres, la méthode Double Dabble passe bien à l'échelle. En programmation, Python gère nativement les entiers de précision arbitraire, JavaScript fournit BigInt et C dispose de bibliothèques comme GMP pour l'arithmétique de précision arbitraire.

Qu'est-ce que le décimal codé binaire (BCD) ?

Le BCD est un encodage différent où chaque chiffre décimal est représenté individuellement par 4 bits, au lieu de convertir tout le nombre. Par exemple, le décimal 42 en BCD vaut 0100 0010 (4 = 0100, 2 = 0010), pas 101010 (qui est 42 en binaire standard). Le BCD est utilisé dans certaines applications financières et d'affichage où une représentation décimale exacte est requise.

Résumé

La conversion binaire-vers-décimal repose sur la notation positionnelle : chaque position de bit représente une puissance de 2. Vous pouvez effectuer la conversion avec trois méthodes selon la situation :

  1. Notation positionnelle : la méthode formelle. Multiplier chaque bit par sa puissance de 2 et additionner. Idéale pour le travail écrit et les nombres courts.
  2. Double Dabble : le raccourci mental. Traiter de gauche à droite en doublant et ajoutant. Idéal pour les conversions rapides de tête et les nombres longs.
  3. Table de référence : recherche instantanée pour les valeurs fréquentes comme les codes ASCII, masques de sous-réseau et limites d'octets.

Pour le binaire signé, utilisez le complément à deux : si le MSB vaut 1, inversez tous les bits, ajoutez 1 et appliquez le signe négatif. Pour les fractions binaires, étendez la notation positionnelle aux puissances négatives de 2.

Prêt à pratiquer ? Utilisez notre convertisseur binaire vers décimal gratuit pour convertir n'importe quel nombre binaire, non signé, signé ou fractionnaire, avec une décomposition étape par étape et une vérification instantanée.

À propos de cet article

Cet article fait partie de notre collection de guides Convertisseurs. Explorez les outils, exemples et workflows pratiques associés sur CaesarCipher.org.

Autres Tutoriels Convertisseurs

Essayez l'outil Convertisseurs

Mettez le guide en pratique avec des outils et exemples liés à convertisseurs.

Essayez l'outil Convertisseurs