BINDEC (BIN2DEC en anglais) convertit un nombre binaire en sa représentation décimale. Cette fonction d'ingénierie est incontournable si tu travailles avec des données informatiques : masques de sous-réseau, registres de microcontrôleurs, valeurs RGB ou trames de protocoles série.
Elle élimine les conversions manuelles fastidieuses. Le binaire 1011 se transforme en 11 (8 + 0 + 2 + 1) en un seul appel, et tu peux l'appliquer sur toute une colonne avec une simple référence de cellule.
Syntaxe de la fonction BINDEC
=BINDEC(nombre)BINDEC est limitée à 10 bits. Les nombres sur 10 bits dont le bit le plus à gauche est 1 sont interprétés comme négatifs en notation de complément à deux (plage : -512 à 511). Pour des nombres binaires de plus de 10 bits, tu dois créer une formule personnalisée avec PUISSANCE et SOMME.
Comprendre chaque paramètre de la fonction BINDEC
nombre
: le nombre binaire à convertir, exprimé comme une chaîne de 0 et de 1Tu peux le saisir entre guillemets ("1011") ou référencer une cellule qui contient la valeur binaire.
La valeur peut contenir jusqu'à 10 caractères binaires. Tout caractère autre que 0 ou 1 provoque une erreur #NOMBRE!.
Attention : Sur 10 bits, tout nombre dont le bit de poids fort (le plus à gauche) est 1 est interprété comme négatif. Ainsi =BINDEC("1000000001") retourne -511 et non 513. Ce comportement suit la convention du complément à deux utilisée en informatique.
Exemples pratiques pas à pas
Informatique : conversions binaires de base
Tu reçois un fichier avec des nombres binaires et tu dois les convertir en décimal pour les analyser dans ton tableau. Ces exemples montrent comment chaque position supplémentaire dans un nombre binaire double la valeur : chaque bit représente une puissance de 2.
| A | B | C | |
|---|---|---|---|
| 1 | Nombre binaire | Résultat décimal | Formule |
| 2 | 1 | 1 | =BINDEC("1") |
| 3 | 10 | 2 | =BINDEC("10") |
| 4 | 100 | 4 | =BINDEC("100") |
| 5 | 1000 | 8 | =BINDEC("1000") |
=BINDEC("1000")La fonction lit la chaîne binaire "1000" et la convertit en décimal : le 1 occupe la quatrième position, soit 2³, ce qui donne 8. Chaque position supplémentaire vers la gauche double ainsi la valeur.
Réseaux : valeurs courantes d'un octet
Tu travailles sur un projet réseau et tu dois convertir des masques de sous-réseau binaires en notation décimale pointée. Par exemple, le masque 11111111.11111111.11111111.00000000 correspond à 255.255.255.0.
| A | B | C | |
|---|---|---|---|
| 1 | Binaire | Décimal | Usage |
| 2 | 11111111 | 255 | Valeur max d'un octet |
| 3 | 10000000 | 128 | Bit de signe |
| 4 | 1100 | 12 | Nibble (demi-octet) |
| 5 | 11000000 | 192 | Adresse IP (1er octet) |
=BINDEC("11111111")Ici, la fonction convertit un octet complet (huit bits tous à 1) et renvoie 255, la valeur maximale d'un octet. C'est ce chiffre qu'on retrouve dans les masques de sous-réseau, les adresses IP et les composantes de couleur RGB.
Électronique : nombres binaires composés
Tu es ingénieur en électronique et tu dois convertir des registres de configuration binaires en valeurs décimales pour documenter des paramètres de microcontrôleurs. Quand plusieurs bits sont à 1, BINDEC additionne toutes les puissances de 2 correspondantes.
| A | B | C | |
|---|---|---|---|
| 1 | Binaire | Décimal | Explication |
| 2 | 1010 | 10 | 8 + 2 |
| 3 | 1111 | 15 | 8 + 4 + 2 + 1 |
| 4 | 11001 | 25 | 16 + 8 + 1 |
| 5 | 101010 | 42 | 32 + 8 + 2 |
=BINDEC("101010")La fonction additionne les puissances de 2 des bits à 1 : ici les positions valant 2, 8 et 32, ce qui donne 42. C'est ainsi que plusieurs bits actifs se combinent en une seule valeur décimale.
Programmation : nombres négatifs en complément à deux
Tu rencontres des nombres binaires sur 10 bits dans un système embarqué et tu dois comprendre comment Excel interprète les valeurs négatives. Avec 10 bits, si le bit le plus à gauche est 1, le nombre est négatif en notation de complément à deux.
| A | B | C | |
|---|---|---|---|
| 1 | Binaire (10 bits) | Décimal | Description |
| 2 | 1111111111 | -1 | Complément à deux |
| 3 | 1111111110 | -2 | Tous bits à 1 sauf dernier |
| 4 | 1000000000 | -512 | Minimum sur 10 bits |
| 5 | 0111111111 | 511 | Maximum positif sur 10 bits |
=BINDEC("1111111111")Ici, la chaîne occupe les 10 bits et commence par 1 : la fonction l'interprète donc en complément à deux et renvoie -1 (sa valeur brute 1023 moins 2¹⁰, soit 1024). Sur 10 bits, le résultat reste dans la plage -512 à 511.
Automatisation : conversion en masse avec références
Tu as une colonne entière de valeurs binaires à convertir et tu veux automatiser le traitement. Avec une référence de cellule, tu saisis =BINDEC(A1) une seule fois puis tu copies la formule vers le bas pour traiter toute la liste.
| A | B | C | |
|---|---|---|---|
| 1 | Cellule A | Formule en B | Résultat |
| 2 | 1101 | =BINDEC(A1) | 13 |
| 3 | 10101 | =BINDEC(A2) | 21 |
| 4 | 111000 | =BINDEC(A3) | 56 |
| 5 | 1010101 | =BINDEC(A4) | 85 |
=BINDEC(A1)Ici, la fonction lit la valeur binaire stockée dans la cellule A1 ("1101") et renvoie son équivalent décimal, 13. En pointant une référence plutôt qu'une chaîne, tu copies la formule vers le bas pour convertir toute la colonne d'un coup.
Astuce de pro : Pour vérifier les réponses d'étudiants dans un exercice de conversion, utilise =SI(BINDEC(A1)=B1; "Correct"; "Erreur") : la cellule A1 contient le binaire saisi par l'étudiant, B1 la réponse attendue en décimal.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BINDEC
BINDEC est pointilleuse sur ce qu'elle accepte : elle exige une chaîne faite uniquement de 0 et de 1, et pas plus de 10 caractères. Le moindre 2, lettre ou espace invisible venu d'un export déclenche un #NOMBRE! ou un #VALEUR!.
Le piège le plus sournois ne renvoie pourtant aucune erreur : sur 10 bits, un nombre qui commence par 1 ressort négatif (complément à deux). Tu attends 513, tu obtiens -511, et rien ne te prévient.
Erreur #NOMBRE! avec des caractères non binaires
=BINDEC("102") retourne #NOMBRE! car le chiffre 2 n'existe pas en binaire. BINDEC n'accepte que des 0 et des 1.
Solution : Vérifie que ta chaîne ne contient que des 0 et des 1. Si tes données proviennent d'un export, nettoie-les d'abord avec SUPPRESPACE pour éliminer les espaces invisibles, puis ajoute une validation pour rejeter les cellules non binaires.
Erreur #NOMBRE! avec plus de 10 caractères
=BINDEC("11111111111") (11 caractères) retourne #NOMBRE!. BINDEC est limitée à 10 bits maximum.
Solution : Pour des nombres binaires de plus de 10 bits, découpe la chaîne en segments de 10 bits et recompose manuellement avec PUISSANCE et SOMME. Il n'existe pas de contournement natif simple dans Excel pour les grands nombres binaires.
Erreur #VALEUR! avec du texte non numérique
=BINDEC("ABC") retourne #VALEUR! car la chaîne ne ressemble pas à un nombre. Cela se produit aussi si la cellule référencée contient une valeur logique ou une chaîne vide.
Solution : Assure-toi que la cellule source contient uniquement des chiffres 0 et 1. Pour les imports de données, ajoute =SIERREUR(BINDEC(A1); "") pour afficher une cellule vide en cas d'erreur plutôt que de bloquer tout le tableau.
Résultat négatif inattendu sur 10 bits
Tout nombre binaire de 10 bits commençant par 1 est interprété comme négatif. =BINDEC("1000000001") retourne -511 et non 513, car Excel applique la notation du complément à deux.
Solution : Si tu travailles avec des nombres non signés sur 10 bits (plage 0 à 1023), convertis manuellement : =SI(BINDEC(A1)<0; BINDEC(A1)+1024; BINDEC(A1)) annule l'interprétation signée.
BINDEC vs BINHEX vs BINOCT vs DECBIN
Toutes partent d'un nombre binaire, mais elles ne visent pas la même base d'arrivée : prends BINDEC pour lire une valeur décimale (registres, octets d'une adresse IP), BINHEX pour basculer en hexadécimal (couleurs RGB, codes HTML) et BINOCT pour l'octal (permissions Unix de type chmod).
DECBIN est l'opération miroir : c'est elle qu'il te faut quand tu pars du décimal pour fabriquer un masque binaire, pas l'inverse.
| Critère | BINDEC | BINHEX | BINOCT | DECBIN |
|---|---|---|---|---|
| Conversion effectuée | Binaire → Décimal | Binaire → Hexadécimal | Binaire → Octal | Décimal → Binaire |
| Base source | Base 2 | Base 2 | Base 2 | Base 10 |
| Base cible | Base 10 | Base 16 | Base 8 | Base 2 |
| Limite de bits | 10 bits max | 10 bits max | 10 bits max | -512 à 511 |
| Usage typique | Lecture de registres, IP | Couleurs RGB, HTML | Permissions Unix (chmod) | Générer des masques binaires |
Questions fréquentes sur la fonction BINDEC
Quelle est la différence entre BINDEC et DECBIN ?
BINDEC convertit du binaire vers le décimal, tandis que DECBIN fait l'inverse : il convertit du décimal vers le binaire. Ce sont des fonctions complémentaires.
Par exemple, =BINDEC("1011") retourne 11, et =DECBIN(11) retourne "1011".
Pourquoi BINDEC est-elle limitée à 10 caractères binaires ?
Excel limite BINDEC à 10 bits pour gérer les nombres signés en complément à deux. Cela permet de représenter des valeurs de -512 à 511 en décimal.
Au-delà de 10 bits, tu dois créer une formule personnalisée qui multiplie chaque bit par sa puissance de 2 correspondante.
Comment convertir des nombres binaires de plus de 10 bits ?
Pour les nombres binaires plus longs, découpe-les en segments de 10 bits ou moins, puis recompose la valeur décimale avec PUISSANCE et SOMME.
Alternativement, tu peux utiliser une formule matricielle qui extrait chaque bit avec STXT, le multiplie par sa puissance de 2, et additionne le tout. C'est plus complexe mais contourne la limite des 10 bits.
Peut-on combiner BINDEC avec d'autres fonctions de conversion ?
Oui. Tu peux imbriquer BINDEC dans DECHEX pour aller directement du binaire vers l'hexadécimal : =DECHEX(BINDEC("11111111")) retourne "FF".
Tu peux aussi l'utiliser avec SI pour valider des données, avec SOMME pour additionner des valeurs binaires converties, ou avec SIERREUR pour traiter proprement les cas d'erreur dans tes tableaux.
Comment vérifier si une cellule contient un nombre binaire valide avant d'utiliser BINDEC ?
Utilise =SIERREUR(BINDEC(A1); "Invalide") pour gérer les erreurs proprement dans ton tableau. Si la valeur en A1 est un binaire valide, le résultat décimal s'affiche ; sinon, tu vois "Invalide".
Pour une validation plus stricte, vérifie que la cellule ne contient que des 0 et 1 avec une formule comme =NBCAR(A1)-NBCAR(SUBSTITUE(SUBSTITUE(A1;"0";"");"1";""))=0.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
