DECBIN convertit un nombre décimal en sa représentation binaire (base 2). C'est la fonction de référence pour tout travail avec les systèmes numériques dans Excel : programmeurs qui configurent des registres, ingénieurs réseau qui analysent des masques de sous-réseau, techniciens qui décortiquent des permissions de fichiers.
Concrètement, elle te sert à visualiser chaque octet d'une adresse IP en bits, à documenter les permissions Unix (lecture, écriture, exécution correspondent aux bits 4, 2, 1), à analyser des drapeaux de protocoles réseau, ou à construire des tables de référence complètes décimal-binaire-hexadécimal pour tes formations ou tes audits techniques.
Syntaxe de la fonction DECBIN
=DECBIN(nombre; [nb_caractères])Le résultat de DECBIN est du texte, pas un nombre. Tu ne peux pas faire d'opérations arithmétiques directement sur ce résultat. Pour manipuler les bits individuels, utilise les fonctions BITOU, BITET, BITDECALG.
Comprendre chaque paramètre de la fonction DECBIN
DECBIN prend le nombre à convertir, puis un nombre de bits que tu peux préciser ou laisser de côté. Sans le second argument, elle te donne le binaire le plus court possible : 5 devient 101. Glisse 8 derrière et tu forces un octet complet avec ses zéros à gauche, ce qui te sauve la mise dès que tu alignes des adresses IP ou des registres.
Attention à la borne du premier argument : DECBIN ne va que de -512 à 511, tout ce qui dépasse te renvoie #NOMBRE!.
nombre
: le nombre entier décimal à convertirDoit être compris entre -512 et 511 inclus. Les valeurs en dehors de cette plage renvoient l'erreur #NOMBRE!.
Pour les nombres négatifs, DECBIN utilise la notation en complément à deux sur 10 bits : le bit de poids fort (à gauche) vaut 1 pour les négatifs. -1 donne 1111111111, -512 donne 1000000000. Si tu fournis un nombre décimal (non entier), Excel tronque vers le bas automatiquement.
Attention : Les nombres au-delà de 511 ou en dessous de -512 renvoient #NOMBRE!. Pour convertir de plus grands entiers en binaire, tu dois créer une formule personnalisée basée sur des divisions successives par 2.
[nb_caractères]
: le nombre de caractères (bits) du résultat(facultatif)Par défaut, DECBIN utilise le minimum nécessaire : 5 donne 101 sur 3 bits. Si tu spécifies 8, la même valeur donne 00000101 avec des zéros non significatifs à gauche.
Si nb_caractères est inférieur au nombre de bits nécessaires pour représenter la valeur, la fonction renvoie #NOMBRE!. Par exemple, =DECBIN(255;4) échoue car 255 nécessite 8 bits.
Astuce : Utilise nb_caractères=8 pour représenter des octets complets : indispensable pour les adresses IP, les masques de sous-réseau ou les valeurs de registres de microcontrôleurs.
Pas envie d'écrire la formule DECBIN à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Développeur : table de conversions de base
Tu démarres une formation sur les systèmes de numération et tu veux une table de référence rapide pour montrer comment les nombres décimaux courants se représentent en base 2.
| A | B | C | |
|---|---|---|---|
| 1 | Décimal | Binaire | Formule |
| 2 | 0 | 0 | =DECBIN(0) |
| 3 | 5 | 101 | =DECBIN(5) |
| 4 | 10 | 1010 | =DECBIN(10) |
| 5 | 15 | 1111 | =DECBIN(15) |
| 6 | 255 | 11111111 | =DECBIN(255) |
=DECBIN(10)La fonction convertit 10 en sa représentation base 2, où chaque position vaut une puissance de 2 : 1010 se lit (1×8)+(0×4)+(1×2)+(0×1), soit 10. La table montre aussi que 255 donne 11111111, un octet complet.
Ingénieur embarqué : formatage sur 8 bits pour les registres
Tu configures les registres d'un microcontrôleur et tu dois documenter chaque valeur sur exactement 8 bits, avec des zéros non significatifs à gauche pour une lecture uniforme. Sans le second paramètre, DECBIN omettrait ces zéros.
| A | B | C | |
|---|---|---|---|
| 1 | Décimal | Binaire 8 bits | Formule |
| 2 | 5 | 00000101 | =DECBIN(5;8) |
| 3 | 12 | 00001100 | =DECBIN(12;8) |
| 4 | 63 | 00111111 | =DECBIN(63;8) |
| 5 | 128 | 10000000 | =DECBIN(128;8) |
=DECBIN(5;8)Le second argument (8) force le résultat sur 8 bits, en complétant par des zéros à gauche : 5 devient 00000101 au lieu de 101. Tous les bits restent visibles, ce qui facilite l'identification des positions actives dans un registre.
Admin réseau : convertir les octets d'une adresse IP
Tu analyses la segmentation d'un réseau et tu dois visualiser les octets de l'adresse IP 192.168.1.254 en binaire pour comprendre le masque de sous-réseau et les plages d'hôtes disponibles.
| A | B | C | |
|---|---|---|---|
| 1 | Octet | Décimal | Binaire 8 bits |
| 2 | IP octet 1 | 192 | 11000000 |
| 3 | IP octet 2 | 168 | 10101000 |
| 4 | IP octet 3 | 1 | 00000001 |
| 5 | IP octet 4 | 254 | 11111110 |
=DECBIN(192;8)La fonction convertit l'octet 192 en binaire sur 8 bits : 11000000. Répétée sur les 4 octets, elle révèle d'un coup d'oeil quels bits forment la partie réseau et lesquels identifient les hôtes (un masque /24 réserve les 24 premiers bits au réseau).
Astuce de pro : Pour construire la représentation binaire complète du masque en une seule cellule, concatène les 4 conversions : =DECBIN(255;8)&"."&DECBIN(255;8)&"."&DECBIN(255;8)&"."&DECBIN(0;8) donne 11111111.11111111.11111111.00000000.
Sysadmin Linux : visualiser les permissions de fichiers
Tu formes une équipe aux permissions Unix et tu veux montrer visuellement pourquoi chmod 644 signifie lecture+écriture pour le propriétaire et lecture seule pour les autres. Chaque octal (0-7) correspond à trois bits : un par permission.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Permission | Décimal | Binaire | Signification |
| 2 | Lecture seule | 4 | 100 | r-- (Read) |
| 3 | Écriture seule | 2 | 010 | -w- (Write) |
| 4 | Exécution seule | 1 | 001 | --x (Execute) |
| 5 | Tous droits | 7 | 111 | rwx (Read+Write+Execute) |
=DECBIN(7;3)La fonction convertit 7 en binaire sur 3 bits : 111. Les trois bits à 1 signifient que les trois permissions (lecture, écriture, exécution) sont accordées, tandis que 4 donnerait 100 (lecture seule). De quoi rendre lisible ce qu'un chmod 755 ou 644 implique.
Formateur : visualiser les puissances de 2
Tu animes une formation sur les bases de l'informatique et tu veux montrer le lien entre les puissances de 2 et leur représentation binaire : une puissance de 2 a toujours exactement un seul bit à 1, à la position correspondant à l'exposant.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Décimal | Binaire | Puissance | Formule |
| 2 | 1 | 1 | 2⁰ | =DECBIN(1) |
| 3 | 2 | 10 | 2¹ | =DECBIN(2) |
| 4 | 4 | 100 | 2² | =DECBIN(4) |
| 5 | 8 | 1000 | 2³ | =DECBIN(8) |
| 6 | 16 | 10000 | 2⁴ | =DECBIN(16) |
| 7 | 256 | 100000000 | 2⁸ | =DECBIN(256) |
=DECBIN(16)La fonction convertit 16 (soit 2⁴) en 10000 : un seul bit à 1, placé à la position correspondant à l'exposant. Ce motif illustre pourquoi une puissance de 2 n'a toujours qu'un bit actif, et pourquoi les tailles mémoire sont des puissances de 2.
Astuces avancées avec DECBIN
Analyser les drapeaux de bits avec STXT
Pour vérifier si un bit précis est actif dans un nombre, combine DECBIN avec STXT : =SI(STXT(DECBIN(13;4);2;1)="1";"Bit 3 activé";"Bit 3 désactivé") extrait le 2ème caractère du binaire sur 4 bits du nombre 13 (1101).
Utile pour décoder des champs de flags de protocoles réseau (TCP SYN, ACK, FIN) ou des registres d'état de microcontrôleurs.
Compter les bits actifs avec NBCAR et SUBSTITUE
Pour compter combien de bits sont à 1 dans un nombre, soustrais la longueur sans les 1 à la longueur totale : =NBCAR(DECBIN(A1))-NBCAR(SUBSTITUE(DECBIN(A1);"1";"")) renvoie le nombre de bits actifs.
Pratique pour calculer le nombre d'hôtes dans un masque de sous-réseau ou analyser la densité de bits dans des données encodées.
Construire une table de référence décimal-binaire-hexadécimal
Pour une table complète 0-255, place les nombres en colonne A, puis =DECBIN(A2;8) en colonne B et =DECHEX(A2;2) en colonne C. Tu obtiens une référence croisée immédiatement utilisable pour des audits ou des formations.
Filtre sur la colonne binaire pour isoler tous les octets d'une valeur spécifique.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction DECBIN
Tout tourne autour de deux limites que DECBIN ne pardonne pas. La première, c'est la plage -512 à 511 : sors-en d'un cran et tu récoltes #NOMBRE!. La seconde t'attend sur le second argument, où demander moins de bits qu'il n'en faut (=DECBIN(255;4) pour un nombre qui en réclame 8) déclenche le même code.
Le reste vient surtout d'un malentendu : le résultat est du texte, donc il se comporte comme 0 dans un calcul, et les négatifs s'écrivent en complément à deux où 1111111111 signifie -1, pas une grande valeur.
Erreur #NOMBRE! : valeur hors de la plage -512 à 511
DECBIN utilise une représentation sur 10 bits, ce qui limite la plage à -512 (minimum) et 511 (maximum). Toute valeur en dehors renvoie #NOMBRE!.
Solution : Vérifie que ta valeur source est dans la plage. Pour des nombres plus grands, tu dois créer une formule personnalisée basée sur des divisions successives par 2 et CONCATENER, ou utiliser un outil de conversion externe.
Erreur #NOMBRE! : nb_caractères insuffisant pour la valeur
nb_caractères est inférieur au nombre de bits nécessaires. =DECBIN(255;4) échoue car 255 nécessite 8 bits (11111111) et 4 est insuffisant.
Solution : Augmente nb_caractères jusqu'à la valeur nécessaire pour représenter ton nombre. Pour un octet complet (0-255), utilise toujours nb_caractères=8.
Le résultat de DECBIN s'affiche comme 0 dans des calculs
DECBIN renvoie du texte (la représentation en chiffres 0 et 1), pas un nombre. Toute tentative de calcul arithmétique sur ce résultat retourne 0 ou une erreur.
Solution : Pour manipuler les bits, utilise les fonctions dédiées : BITOU, BITET, BITET pour les opérations logiques. Pour extraire un bit précis, utilise STXT sur le résultat de DECBIN.
Interprétation incorrecte des nombres négatifs
Les nombres négatifs en complément à deux peuvent prêter à confusion : 1111111111 n'est pas la valeur maximale, c'est -1. Le bit de poids fort à 1 indique le signe négatif.
Solution : Rappelle-toi que DECBIN représente les négatifs en complément à deux sur 10 bits. -1 donne 1111111111, -512 donne 1000000000. Pour vérifier, utilise la fonction inverse BINDEC qui reconvertit en décimal.
DECBIN vs DECHEX vs DECOCT
| Critère | DECBIN | DECHEX | DECOCT |
|---|---|---|---|
| Base de sortie | Base 2 (binaire) | Base 16 (hexadécimal) | Base 8 (octal) |
| Plage d'entrée | -512 à 511 | -549 755 813 888 à 549 755 813 887 | -536 870 912 à 536 870 911 |
| Cas d'usage principal | Électronique, réseau, permissions Unix | Couleurs HTML, adresses mémoire, encodage | Permissions Unix (notation chmod classique) |
| Lisibilité humaine | Très longue pour de grands nombres | Compacte, 2 car. par octet | Compacte pour les permissions |
Questions fréquentes sur la fonction DECBIN
Pourquoi DECBIN est-elle limitée à 512 valeurs négatives ?
DECBIN utilise une représentation binaire sur 10 bits, ce qui permet de coder 1 024 valeurs distinctes. Avec le complément à deux, la moitié (de -512 à -1) représente les négatifs et l'autre moitié (de 0 à 511) les positifs. Pour des nombres plus grands, il faudrait plus de bits, ce qu'Excel ne propose pas dans DECBIN.
Comment DECBIN représente-t-elle les nombres négatifs ?
DECBIN utilise le complément à deux sur 10 bits. Le bit de poids fort (à gauche) vaut 1 pour les négatifs. Pour obtenir le complément à deux d'un négatif, on inverse tous les bits de sa valeur absolue et on ajoute 1 : -1 devient 1111111111, -2 devient 1111111110, -512 devient 1000000000.
Comment convertir un nombre décimal plus grand que 511 en binaire ?
DECBIN est limitée à 511. Pour de grands entiers, une approche est de créer une formule personnalisée en chaînant des divisions par 2 avec des MOD et CONCAT, ou d'utiliser une macro VBA. Une autre option est d'utiliser la fonction BITDECALG pour analyser les bits individuels.
Le résultat de DECBIN est-il du texte ou un nombre ?
C'est du texte. =DECBIN(10) renvoie la chaîne "1010", pas le nombre 1010. Tu ne peux pas faire d'opérations arithmétiques directement sur ce résultat. Pour des opérations logiques sur les bits, utilise les fonctions BITOU, BITET et BITDECALG qui travaillent avec les décimaux.
Quelle est la différence entre DECBIN et BINDEC ?
Ce sont les fonctions inverses l'une de l'autre. DECBIN convertit décimal vers binaire, BINDEC convertit binaire vers décimal. Pour vérifier une conversion : =BINDEC(DECBIN(10)) doit renvoyer 10.
Comment utiliser DECBIN pour analyser des permissions Unix ?
Chaque permission Unix (lecture=4, écriture=2, exécution=1) correspond à un bit. =DECBIN(7;3) donne 111 (tous droits), =DECBIN(4;3) donne 100 (lecture seule). Pour décoder chmod 644, convertis chaque chiffre : 6 donne 110 (lecture+écriture), 4 donne 100 (lecture seule).
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

