Aller au contenu principal

Qu'est-ce que la fonction OCTBIN ?

Définition
La fonction OCTBIN convertit un nombre exprimé en base octale (base 8, chiffres 0 à 7) en sa représentation binaire (base 2, chiffres 0 et 1). Le résultat est une chaîne de texte.

OCTBIN (OCT2BIN en anglais dans les versions anglophones) te sert quand un chiffre octal doit être lu bit par bit plutôt que comme un simple nombre, parce que c'est justement à ce niveau-là que se lisent les droits et les masques que tu manipules. La correspondance est parfaite : chaque chiffre octal vaut exactement 3 bits, sans reste ni ambiguïté.

Cette correspondance parfaite fait d'OCTBIN l'outil idéal pour décoder les permissions de fichiers Unix : quand tu vois chmod 755, OCTBIN te montre exactement quels bits sont activés (111 101 101), ce qui correspond à rwx r-x r-x. Développeurs, administrateurs système et électroniciens qui travaillent avec des registres ou des masques de bits y trouvent un outil quotidien pour visualiser les bits actifs sans calcul mental.

Syntaxe

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction OCTBIN

OCTBIN se contente d'un seul argument obligatoire : ton nombre octal. Le deuxième, nb_caractères, est facultatif et sert juste à rembourrer le résultat avec des zéros à gauche pour aligner tes colonnes. Sans lui, tu obtiens la longueur minimale ; avec, tu forces un format fixe comme =OCTBIN(7; 6) qui donne "000111" au lieu de "111".

1

nombre

: le nombre octal à convertir en binaire

Il ne peut contenir que les chiffres 0 à 7, sur 10 chiffres maximum. Le bit de poids fort représente le signe pour les nombres négatifs (complément à deux sur 30 bits).

Par exemple, 7 devient 111 (3 bits tous à 1), 755 devient 111101101 (9 bits correspondant à rwxr-xr-x), et 777 devient 111111111 (9 bits tous à 1).

Attention : Les chiffres 8 et 9 n'existent pas en octal. Si ta valeur en contient, tu obtiendras l'erreur #NOMBRE!. Vérifie toujours que tes données ne contiennent que les chiffres 0 à 7 avant d'appeler OCTBIN.

2

[nb_caractères]

: le nombre de caractères souhaité dans le résultat binaire(facultatif)

Si omis, OCTBIN utilise le minimum nécessaire. Maximum 10 caractères.

Par exemple, =OCTBIN(7; 6) retourne "000111" au lieu de simplement "111". Ce formatage est indispensable pour aligner des colonnes de données binaires, respecter un format de registre fixe ou visualiser clairement des masques de bits.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment convertir un chiffre de droits Unix en bits avec la fonction OCTBIN

Un audit te réclame de justifier les droits accordés sur chaque script du serveur, et la colonne que tu as sous les yeux ne contient qu'un chiffre par ligne, 7 ou 5, parce que c'est ainsi que chmod les note. Tu veux voir en face les trois bits que ce chiffre active, ceux qui disent lecture, écriture et exécution. La fonction OCTBIN traduit chaque chiffre octal en binaire, la seule base où les droits se lisent bit par bit.

Les étapes
  1. 1
    Dans une cellule, écris =OCTBIN(.
  2. 2
    En 1er argument : clique sur la cellule qui porte le chiffre octal à traduire, B2 avec 7. Pointer la cellule plutôt que retaper le chiffre te permet de recopier la formule sur toute la colonne d'un seul geste.
  3. 3
    En 2ᵉ argument : saisis la largeur du résultat, 3, parce qu'un chiffre octal vaut exactement 3 bits. Sans elle, la fonction OCTBIN s'en tient à la longueur minimale et les lignes ressortent en dents de scie, ce qui casse la lecture en colonne.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour traduire chaque chiffre de la colonne.
Au final, ta formule devrait ressembler à ça :=OCTBIN(B2; 3)
Explication
Ici, la fonction OCTBIN s'appuie sur le fait que 8 vaut 2 au cube : un chiffre octal se traduit par exactement 3 bits, sans reste. Le 7 de la première ligne ressort 111, les trois droits ouverts, quand le 4 de la troisième ressort 100, la lecture et rien d'autre.
Exemple 2

Comment isoler les droits du propriétaire en combinant les fonctions OCTBIN et STXT

Ton inventaire ne note plus les droits chiffre par chiffre mais code complet, 755 ou 644, et c'est le propriétaire du fichier qui t'intéresse en priorité : c'est lui qui peut tout écraser. Tu veux ses trois bits en face de chaque ligne, sans découper la colonne à la main. En donnant à la fonction OCTBIN le chiffre que la fonction STXT prélève, tu isoles le groupe de droits voulu et tu le traduis dans la même cellule.

Les étapes
  1. 1
    Dans une cellule, écris =OCTBIN(.
  2. 2
    En 1er argument : écris la fonction STXT et referme-la, STXT(B2; 1; 1), au lieu de pointer une cellule. C'est elle qui découpe un seul chiffre dans le code complet stocké en B2 avec 755. Son 1 de départ et son 1 de longueur isolent le premier chiffre, celui du propriétaire, et tu ferais démarrer le découpage à 2 pour lire le groupe, à 3 pour les autres.
  3. 3
    En 2ᵉ argument : saisis la largeur d'un groupe de droits, 3, pour que toutes les lignes s'alignent sur la même longueur quelle que soit la valeur du chiffre.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. La fonction OCTBIN traduit le chiffre que la fonction STXT vient d'isoler et affiche les trois bits du propriétaire dans la même cellule.
Voici la formule que tu obtiens à la fin :=OCTBIN(STXT(B2; 1; 1); 3)
Explication
La fonction STXT prélève le 7 en tête de 755, puis la fonction OCTBIN le traduit en 111 : le propriétaire cumule lecture, écriture et exécution. Sur la ligne du 400, le même découpage rend 100, soit la lecture seule.
Exemple 3

Comment traiter l'erreur #NOMBRE! d'un chiffre invalide avec la fonction OCTBIN

Les chiffres de droits arrivent d'un export saisi à la main, et deux lignes portent un 8 et un 9. Ces chiffres n'existent pas en base 8, où l'on s'arrête à 7, donc la fonction OCTBIN refuse de les traduire et renvoie l'erreur #NOMBRE!. Tu veux que la colonne reste lisible et que les lignes fautives se signalent en clair, sans faire dérailler le reste du tableau.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris la conversion à tenter et referme-la, OCTBIN(B2; 3), avec B2 qui porte le chiffre 7 et la largeur 3 qui garde la colonne alignée. Tant que le chiffre est un octal valide, son résultat traverse la fonction SIERREUR sans être modifié.
  3. 3
    En 2ᵉ argument : saisis le texte à afficher quand la conversion échoue, "Octal invalide", entre guillemets. Il ne prend la main que sur les lignes où la fonction OCTBIN a vraiment buté, ici le 8 et le 9 que la base 8 ne connaît pas.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Les lignes valides gardent leurs bits, seules les fautives affichent le message.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(OCTBIN(B2; 3); "Octal invalide")
Explication
La fonction OCTBIN rend 111 sur la première ligne, mais l'erreur #NOMBRE! sur celles qui portent un 8 ou un 9 : la base 8 ne connaît que les chiffres 0 à 7. La fonction SIERREUR intercepte cette erreur et la remplace par ton texte, ce qui laisse les lignes valides intactes.
Le savais-tu ?
Comme 8 vaut 2 puissance 3, chaque chiffre octal correspond pile à 3 bits, sans reste. C'est ce qui rend les permissions Unix si lisibles : chmod 755 devient 111 101 101, soit rwx r-x r-x, groupe par groupe de 3 bits.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction OCTBIN

Le code #NOMBRE! est presque toujours au rendez-vous, et il cache deux scénarios bien distincts. Le plus fréquent : un 8 ou un 9 traîne dans ta valeur alors que l'octal s'arrête à 7, comme dans =OCTBIN(789). Le second : ton nb_caractères est trop court pour loger le résultat, par exemple =OCTBIN(777; 8) qui voudrait caser 9 bits dans 8 cases.

Le piège silencieux, lui, ne déclenche aucune erreur : OCTBIN lit toujours ton entrée comme de l'octal, donc =OCTBIN(10) te renvoie le binaire de 8 ("1000") et non celui de 10.

Erreur #NOMBRE! sur des chiffres invalides ou un nb_caractères trop petit

L'erreur #NOMBRE! survient dans deux cas : le nombre octal contient les chiffres 8 ou 9 (inexistants en base 8), ou nb_caractères est trop petit pour afficher le résultat. Par exemple, =OCTBIN(789) échoue car 8 et 9 sont invalides, et =OCTBIN(777; 8) échoue car 111111111 fait 9 caractères mais le paramètre n'en autorise que 8.

Solution : Vérifie que ta valeur ne contient que les chiffres 0 à 7. Pour le formatage, calcule d'abord la longueur naturelle du résultat avant de fixer nb_caractères. Pour 777, utilise =OCTBIN(777; 10) qui retourne "0111111111".

Confusion entre la valeur octale et décimale passée en argument

OCTBIN attend un nombre octal, pas décimal. Le nombre 10 en octal représente 8 en décimal (1×8 + 0 = 8). Donc =OCTBIN(10) retourne "1000" (la représentation binaire de 8), et non pas le binaire de 10 décimal qui serait "1010".

Solution : Vérifie que tes données sont bien en notation octale avant de les passer à OCTBIN. Si tes données sont en décimal, convertis-les d'abord avec DECOCT : =OCTBIN(DECOCT(A1)).

Lucas, la mascotte du Dojo, compare deux fonctions Excel

OCTBIN vs OCTDEC vs OCTHEX

Choisis OCTBIN quand tu veux voir les bits un par un : c'est la seule des trois où chaque chiffre octal devient pile 3 bits, ce qui rend les permissions Unix lisibles d'un coup d'œil (755111101101). Si tu cherches plutôt à calculer ou comparer des valeurs, passe par OCTDEC qui te ramène en décimal (755493) ; et pour insérer une constante compacte dans du code C ou Python, OCTHEX et son hexadécimal (7551ED) sont plus adaptés.

CritèreOCTBINOCTDECOCTHEX
Base de sortieBase 2 (binaire)Base 10 (décimal)Base 16 (hexadécimal)
Correspondance par chiffre1 chiffre octal = 3 bits (parfaite)Pas de correspondance directe3 chiffres oct = 4 bits (indirect)
Résultat pour 7551111011014931ED
Cas d'usage principalVisualiser les bits, permissions UnixCalculs arithmétiques, comparaisonsCode C/Python/JavaScript, mémoire
Lisibilité humaineExcellente pour les bits individuelsBonne pour les calculsCompacte pour les grands nombres
FAQ

Questions fréquentes

Parce que 8 = 2³. Chaque chiffre octal (0-7) représente exactement toutes les combinaisons possibles de 3 bits (000 à 111). Cette correspondance parfaite rend la conversion triviale et sans ambiguïté, contrairement aux conversions impliquant le décimal ou l'hexadécimal.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction OCTBIN : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir