Tu travailles avec des systèmes Unix ou des données binaires que tu veux représenter en octal ? BINOCT (BIN2OCT en anglais) convertit un nombre binaire (base 2) en son équivalent octal (base 8). C'est la fonction d'ingénierie qu'on utilise surtout pour les permissions de fichiers, les registres de microcontrôleurs et la documentation de systèmes embarqués.
L'octal est populaire en informatique parce que 3 bits binaires correspondent exactement à 1 chiffre octal : c'est ce principe qui rend la commande chmod 755 aussi lisible. BINOCT fait cette conversion pour toi, avec un paramètre optionnel pour formater le résultat sur un nombre fixe de caractères.
Syntaxe de la fonction BINOCT
=BINOCT(nombre; [nb_caractères])Si tu spécifies nb_caractères mais que le résultat est trop long pour tenir dedans, la fonction renvoie #NOMBRE!. Omets ce paramètre si tu ne veux pas forcer de longueur minimale.
Comprendre chaque paramètre de la fonction BINOCT
BINOCT prend deux arguments dans cet ordre : d'abord le nombre binaire à convertir, puis le nombre de caractères que tu veux voir dans le résultat. Seul le premier est obligatoire ; le second sert juste à compléter avec des zéros à gauche pour aligner ton tableau, et tu l'omets si la largeur t'est égale.
nombre
: le nombre binaire à convertir, composé uniquement de chiffres `0` et `1`La limite est de 10 chiffres (10 bits). Le bit le plus à gauche est le bit de signe : si le nombre commence par 1 sur 10 bits, Excel l'interprète en complément à deux (nombre négatif).
Tu peux entrer ce nombre directement (=BINOCT(111) pour convertir 111) ou le lire depuis une cellule. Si la cellule contient une valeur texte avec des zéros initiaux ("0011"), la fonction les prend en compte correctement.
Astuce : Pour des nombres binaires stockés comme texte avec zéros initiaux (par exemple "0101"), pointe directement la cellule : =BINOCT(A2). Excel gère les deux formes.
Attention : Tout caractère autre que 0 ou 1 dans le nombre provoque une erreur #NOMBRE!. Vérifie que ta source ne contient que des chiffres binaires valides.
nb_caractères
: le nombre minimal de caractères que doit contenir le résultat octal(facultatif)Si le résultat naturel est plus court, Excel ajoute des zéros à gauche pour atteindre cette longueur.
C'est utile pour homogénéiser l'affichage dans une documentation ou un tableau de registres, où tu veux que tous les résultats aient la même largeur (par exemple 4 chiffres octaux pour tous les registres d'un microcontrôleur).
Astuce : Utilise nb_caractères = 3 ou 4 pour obtenir une présentation uniforme dans tes tableaux de documentation technique.
Exemples pratiques pas à pas
Administrateur système : permissions Unix
Tu es administrateur système et tu dois comprendre ou documenter les permissions d'un fichier. Sur Unix/Linux, chaque groupe de 3 bits encode les droits lecture (r=1), écriture (w=1) et exécution (x=1). La commande chmod 755 signifie que le propriétaire a 111 (tous les droits), le groupe 101 (lecture + exécution) et les autres aussi 101.
=BINOCT(111) retourne 7 (= rwx pour le propriétaire). =BINOCT(101) retourne 5 (= r-x pour le groupe et les autres). Coller les trois résultats donne 755, le code chmod. Avec BINOCT dans ton tableau, tu n'as plus besoin de mémoriser les correspondances.
| A | B | C | |
|---|---|---|---|
| 1 | Catégorie | Binaire (rwx) | Octal |
| 2 | Propriétaire | 111 | =BINOCT(A2) |
| 3 | Groupe | 101 | =BINOCT(A3) |
| 4 | Autres | 101 | =BINOCT(A4) |
=BINOCT(111)Astuce de pro : Concatène les trois résultats en une seule cellule : =BINOCT(A2)&BINOCT(A3)&BINOCT(A4) pour afficher directement 755.
Ingénieur électronique : registres de configuration
Tu es ingénieur électronique et tu documentes les registres de configuration d'un microcontrôleur dans une datasheet interne. Les valeurs sont définies en binaire dans le code source, mais la documentation projet impose une notation octale sur 3 chiffres pour homogénéiser.
Le paramètre 3 dans =BINOCT(B2; 3) force le résultat sur 3 chiffres : 110100 binaire donne 64 octal, affiché 064 avec le zéro initial. Ton tableau est ainsi parfaitement aligné, quel que soit le registre.
| A | B | C | |
|---|---|---|---|
| 1 | Registre | Config binaire | Octal (3 chiffres) |
| 2 | REG_MODE | 110100 | =BINOCT(B2; 3) |
| 3 | REG_CTRL | 001111 | =BINOCT(B3; 3) |
| 4 | REG_STATUS | 000111 | =BINOCT(B4; 3) |
=BINOCT(110100; 3)Développeur : masques de bits
Tu es développeur et tu travailles sur un protocole bas niveau avec des masques de bits pour isoler des groupes de 3 bits dans un octet. La représentation octale est naturelle ici : chaque chiffre octal correspond à exactement 3 bits.
=BINOCT(111000000) retourne 700 : seuls les 3 bits hauts sont à 1. =BINOCT(000000111) retourne 7 : les 3 bits bas. En octal, les masques sont lisibles immédiatement, sans compter les bits un par un.
| A | B | C | |
|---|---|---|---|
| 1 | Description | Masque binaire | Octal |
| 2 | Bits hauts | 111000000 | =BINOCT(A2) |
| 3 | Bits milieu | 000111000 | =BINOCT(A3) |
| 4 | Bits bas | 000000111 | =BINOCT(A4) |
=BINOCT(111000000)Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BINOCT
Avec BINOCT, tout se joue autour de la base 2 et de sa limite de 10 bits. Un caractère qui n'est ni 0 ni 1, un nb_caractères trop court pour contenir le résultat, ou un nombre de 10 bits dont le premier chiffre est 1 : ces trois cas renvoient #NOMBRE! ou un résultat négatif inattendu via le complément à deux.
Erreur #NOMBRE! avec des chiffres invalides
Le nombre contient un caractère autre que 0 ou 1 (par exemple 2, 3, ou une lettre), ou dépasse 10 chiffres. Excel ne peut pas convertir ce qu'il n'interprète pas comme du binaire valide.
Solution : Vérifie que le nombre ne contient que des 0 et des 1, et qu'il fait au maximum 10 chiffres. Si ta source est un texte importé, nettoie-le d'abord avec SUPPRESPACE ou SUBSTITUE pour éliminer les caractères parasites.
Erreur #NOMBRE! avec un nb_caractères trop petit
Tu as spécifié un nb_caractères inférieur au nombre de chiffres nécessaires pour représenter le résultat octal. Par exemple, =BINOCT(111111111; 2) échoue parce que le résultat 777 requiert 3 chiffres.
Solution : Augmente la valeur de nb_caractères ou omets ce paramètre pour laisser Excel calculer la longueur naturelle du résultat.
Résultat inattendu sur 10 bits
Pour les nombres binaires de 10 bits, le bit le plus à gauche est le bit de signe. =BINOCT(1111111111) ne donne pas 777 mais un résultat en complément à deux, parce qu'Excel interprète ce nombre comme négatif.
Solution : Si tu travailles avec des valeurs positives, utilise au maximum 9 bits (111111111 = 7 décimal). Pour les nombres négatifs en complément à deux, le comportement est intentionnel.
Questions fréquentes sur la fonction BINOCT
À quoi sert la conversion binaire vers octal ?
L'octal (base 8) est populaire en informatique parce que 3 bits binaires correspondent exactement à 1 chiffre octal. On le retrouve principalement dans les permissions Unix (chmod 755), les registres de microcontrôleurs, et certains protocoles de communication embarqués. La conversion binaire vers octal rend ces valeurs plus lisibles sans avoir à passer par le décimal.
Quelle est la limite de BINOCT ?
BINOCT accepte des nombres binaires jusqu'à 10 chiffres (10 bits). Le résultat octal peut contenir jusqu'à 10 caractères. Au-delà de 10 bits, la fonction retourne #NOMBRE!.
Si tu dois convertir des nombres binaires plus longs, tu devras les découper en blocs de 10 bits maximum et traiter chaque bloc séparément.
Quelle est la différence entre BINOCT et BINHEX ?
BINOCT convertit du binaire vers l'octal (base 8), tandis que BINHEX convertit du binaire vers l'hexadécimal (base 16). L'octal est utile quand tes données se regroupent naturellement par 3 bits, l'hexadécimal quand elles se regroupent par 4 bits (ce qui est plus courant en programmation moderne).
Pour les permissions Unix, BINOCT est le choix naturel. Pour les adresses mémoire ou les codes couleur, BINHEX est plus pratique.
Comment faire la conversion inverse (octal vers binaire) ?
Utilise la fonction OCTBIN, qui fait exactement l'opération inverse : elle prend un nombre octal et retourne sa représentation binaire. BINOCT et OCTBIN sont complémentaires.
De même, BINDEC convertit du binaire vers le décimal, et DECBIN fait l'inverse.
BINOCT fonctionne-t-il dans Google Sheets ?
Oui. Google Sheets supporte la même fonction, mais sous le nom anglais BIN2OCT. La syntaxe est identique : =BIN2OCT(nombre; nb_caractères). Si tu ouvres un fichier Excel dans Google Sheets, les formules BINOCT sont automatiquement traduites.
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
