Qu'est-ce que la fonction DECBIN ?
DECBIN te sert quand tu dois raisonner en bits plutôt qu'en décimal, par exemple pour vérifier d'un coup d'oeil quels indicateurs sont actifs dans une valeur numérique, sans reconvertir chaque nombre à la main. C'est la fonction à laquelle tu penses dès qu'Excel doit parler le même langage que ton système ou ton protocole.
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
=DECBIN(nombre; [nb_caractères])Clique sur un argument pour aller à son explication.
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.

Exemples pratiques pas à pas
Comment convertir un nombre décimal en binaire avec la fonction DECBIN
Tu configures un registre dont chaque bit commande une option, mais ton tableau ne contient que la valeur numérique et personne ne devine quelles options sont réellement actives derrière un 10. Ta colonne aligne des valeurs comme 10 ou 25, et tu veux voir les bits correspondants en face. La fonction DECBIN te sort l'écriture binaire de chaque nombre, bit par bit.
- 1Dans une cellule, écris
=DECBIN(. - 2En 1er argument : clique sur la cellule qui contient l'entier à convertir,
A2. Elle affiche10, la première ligne du tableau. Pointer la cellule plutôt que taper le chiffre te permet de réutiliser la même formule sur les quatre registres suivants. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas jusqu'à la dernière ligne. Le second argument reste absent, donc chaque résultat prend la largeur qui lui suffit et pas une de plus :
10ressort sur quatre bits avec1010,7sur trois bits avec111.
=DECBIN(A2)1 à chaque position utilisée : 10 vaut 8 + 2, d'où 1010. Le résultat sort en texte et non en nombre, ce qui explique qu'il vaille 0 si tu essaies de le calculer.Comment afficher les huit bits d'un octet avec la fonction DECBIN
Tu compares les registres d'une carte ligne par ligne, mais comme chaque conversion prend la largeur qu'elle veut, les bits ne tombent jamais à la même place et repérer celui qui a changé devient un supplice. Tu as les valeurs décimales et tu veux un octet complet, huit bits, sur chaque ligne. La fonction DECBIN accepte un second argument justement pour imposer cette largeur.
- 1Dans une cellule, écris
=DECBIN(. - 2En 1er argument : clique sur la cellule du registre à convertir,
A2. Elle contient10, et la conversion se déroule exactement comme sans second argument. Seule la présentation du résultat va changer. - 3En 2ᵉ argument : saisis le nombre de bits que doit occuper le résultat,
8. C'est la largeur d'un octet, donc la fonction DECBIN comble le vide par des zéros à gauche et rend00001010. Ne descends jamais sous le nombre de bits réellement occupés, car=DECBIN(255; 4)renvoie#NOMBRE!puisque 255 en réclame huit. - 4Ferme la parenthèse et appuie sur Entrée, puis recopie la formule sur les quatre registres suivants. Le
8est recopié avec elle, si bien que les cinq lignes ressortent toutes sur la même largeur.
=DECBIN(A2; 8)10 s'écrit 00001010 au lieu de 1010. Chaque bit occupe désormais toujours la même colonne d'un bout à l'autre du tableau, ce qui rend le bit 7 repérable à l'oeil.Comment éviter l'erreur #NOMBRE! aux bornes de la fonction DECBIN
Un script alimente ta colonne avec des valeurs calculées et une partie du tableau se remplit de #NOMBRE! sans que rien n'explique pourquoi ces lignes précisément. La borne de la fonction DECBIN est bien plus basse qu'on ne l'imagine, et les valeurs négatives ne ressortent pas du tout comme attendu. Vérifier ces deux limites avant de bâtir ta colonne t'évite de chercher l'erreur ailleurs.
- 1Dans une cellule, écris
=DECBIN(. - 2En 1er argument : clique sur la cellule qui porte l'entier à convertir,
A2. Elle affiche511, le plus grand nombre que la fonction DECBIN accepte. La ligne juste en dessous le prouve, puisque512renvoie déjà#NOMBRE!. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule sur les quatre lignes suivantes. La borne basse vaut
-512, et les entiers négatifs ressortent en complément à deux sur dix bits, si bien que-1s'écrit1111111111et-512s'écrit1000000000. Un cran plus bas,-513quitte la plage et renvoie#NOMBRE!à son tour.
=DECBIN(A2)511 d'un côté et -512 de l'autre : au-delà, c'est l'erreur #NOMBRE!. Les valeurs négatives passent par le complément à deux, donc -1 occupe les 10 bits sous la forme 1111111111 au lieu de porter un signe moins.
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.

Les 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
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.
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.
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.
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
Continue sur ta lancée après la fonction DECBIN : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



