Aller au contenu principal

Qu'est-ce que la fonction HEXBIN ?

Définition
La fonction HEXBIN convertit un nombre hexadécimal en son représentation binaire (chaîne de 0 et 1). Elle accepte optionnellement un nombre de caractères pour forcer l'affichage sur une longueur fixe avec zéros en tête.

HEXBIN (HEX2BIN en anglais) révèle la structure bit par bit d'un nombre hexadécimal : elle convertit une valeur en base 16 en son équivalent en base 2. Si tu travailles avec des données de bas niveau, des registres système, des masques de bits ou des couleurs RGB, cette fonction te donne accès à chaque bit individuellement.

Concrètement, c'est elle qui décompose les composantes d'une couleur CSS en bits pour analyser la luminosité canal par canal, qui visualise les flags d'un registre de status matériel, qui inspecte les octets d'une adresse MAC pour identifier un fabricant, ou qui vérifie des permissions encodées en hexadécimal dans un fichier de configuration.

Syntaxe

Clique sur un argument pour aller à son explication.

HEXBIN ne peut convertir que des valeurs hexadécimales jusqu'à 1FF pour un résultat positif sur 10 bits. Au-delà, elle retourne #NOMBRE!.

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

Comprendre chaque paramètre de la fonction HEXBIN

HEXBIN attend d'abord le nombre hexadécimal à décomposer, puis éventuellement la longueur sur laquelle tu veux afficher le résultat. Seul ce second argument est facultatif : si tu l'omets, Excel rend la chaîne binaire au plus court, et c'est lui qu'on précise quand on veut aligner toute une colonne sur 8 bits.

1

nombre

: le nombre hexadécimal à convertir

Il peut contenir les chiffres 0-9 et les lettres A-F (majuscules ou minuscules). Excel accepte la valeur entre guillemets ("FF") ou comme référence à une cellule contenant une chaîne hexadécimale.

Rappel : 1 chiffre hexadécimal = 4 bits. Donc FF (2 chiffres) = 8 bits = 1 octet entier.

2

[nb_caractères]

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

Excel ajoute des zéros à gauche pour atteindre cette longueur. Utile pour forcer un affichage sur 8 bits (un octet) afin d'aligner les résultats d'une colonne.

Si le résultat binaire réel est plus long que nb_caractères, Excel retourne #VALEUR!. Si le paramètre est omis, la longueur s'adapte au nombre hexadécimal converti.

Attention : Si tu spécifies nb_caractères mais que le résultat ne tient pas dans cette longueur, Excel retourne #VALEUR!. Augmente la valeur ou omets ce paramètre.

Le savais-tu ?
Un chiffre hexadécimal vaut exactement 4 bits : F donne 1111, A donne 1010, 5 donne 0101. Du coup FF, avec ses deux chiffres, tient sur 8 bits, soit un octet entier.
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 nombre hexadécimal en binaire sur 8 bits avec la fonction HEXBIN

Ta charte graphique stocke chaque canal d'une couleur sur un octet, noté en hexadécimal. Deux caractères comme FF ou C8 tiennent sur une ligne, mais ils ne disent rien de ce qui se passe à l'intérieur, et c'est justement ce détail qui compte quand tu compares deux teintes bit à bit. La fonction HEXBIN déplie chaque valeur en sa suite de 0 et de 1, et son argument de longueur les range tous sur la même largeur.

Les étapes
  1. 1
    Dans une cellule, écris =HEXBIN(.
  2. 2
    En 1er argument : clique sur la cellule qui porte la valeur hexadécimale à déplier, B2. Elle affiche FF, le canal rouge de la première ligne. Pointer la cellule plutôt que taper FF en dur laisse la formule se recopier telle quelle sur les autres teintes.
  3. 3
    En 2ᵉ argument : saisis la largeur d'affichage voulue, 8, pour occuper un octet complet. Sans elle, la fonction HEXBIN rend la chaîne au plus court. FF sortirait quand même 11111111, mais 40 donnerait 1000000 sur sept bits, et les colonnes ne se liraient plus l'une sous l'autre.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Chaque canal ressort sur exactement huit caractères, si bien qu'un même rang désigne le même bit d'une ligne à l'autre.
Au final, ta formule devrait ressembler à ça :=HEXBIN(B2; 8)
Explication
La fonction traduit chaque chiffre hexadécimal en quatre bits, donc les deux F de FF donnent 1111 et 1111. La longueur demandée complète ensuite avec des zéros à gauche quand le résultat est plus court (20 ressort 00100000 au lieu de 100000), si bien que tous les résultats de la colonne gardent la même largeur.
Exemple 2

Comment isoler un bit précis d'un registre avec les fonctions HEXBIN et STXT

Le microcontrôleur que tu suis publie l'état de ses registres en hexadécimal, avec une information par bit. Le bit de rang 0, celui le plus à droite, indique si l'alimentation est active, et c'est le seul qui t'intéresse pour ton tableau de suivi. Tu veux le lire directement à côté de chaque relevé, sans déplier les huit bits à la main ligne après ligne.

Les étapes
  1. 1
    Dans une cellule, écris =STXT(.
  2. 2
    En 1er argument : écris la conversion binaire du registre et referme-la, HEXBIN(B2; 8). La fonction HEXBIN déplie le relevé 2A en ses huit bits, 00101010, et la largeur forcée à 8 est ce qui rend la suite possible, car un bit ne se repère par sa position que si toutes les chaînes ont la même longueur.
  3. 3
    En 2ᵉ argument : saisis le rang du caractère à prélever, 8. C'est le huitième et dernier caractère de la chaîne, celui qui porte le bit de rang 0, quand le bit de rang 7 se lit tout à l'autre bout, au rang 1.
  4. 4
    En 3ᵉ argument : saisis le nombre de caractères à prélever, 1, pour isoler ce seul bit et rien d'autre.
  5. 5
    Ferme la parenthèse de la fonction STXT et appuie sur Entrée, puis recopie la formule vers le bas pour lire le bit 0 de chaque registre. Celle de la fonction HEXBIN a déjà été refermée dans son argument.
Voici la formule que tu obtiens à la fin :=STXT(HEXBIN(B2; 8); 8; 1)
Explication
La fonction HEXBIN rend d'abord les huit bits du registre, puis STXT y prélève le caractère de rang 8. Sur 2A, qui se déplie en 00101010, ce dernier caractère vaut 0 et l'alimentation est donc coupée. Ce repérage par position ne tient que parce que la longueur est forcée à huit : sans elle, le rang 8 désignerait un bit différent à chaque ligne.
Exemple 3

Comment corriger l'erreur #NOMBRE! de la fonction HEXBIN

Tu rassembles dans une même feuille des valeurs collectées auprès de trois documentations, chacune avec sa largeur d'affichage. Une partie des lignes ressort en erreur alors que les valeurs semblent correctes, et tu veux savoir laquelle des deux causes possibles frappe chaque ligne avant de corriger quoi que ce soit.

Les étapes
  1. 1
    Dans une cellule, écris =HEXBIN(.
  2. 2
    En 1er argument : clique sur la cellule qui porte la valeur à convertir, A2. Elle ne doit contenir que des chiffres 0-9 et des lettres A-F. La ligne 3E8 respecte pourtant cette règle et échoue quand même, parce que sa faute est ailleurs.
  3. 3
    En 2ᵉ argument : clique sur la cellule qui fixe la largeur demandée, B2. C'est là que se joue la première cause d'erreur. FF se déplie en huit bits, donc réclamer 4 caractères ne laisse pas la place au résultat et renvoie #NOMBRE!, alors que 0F, qui tient sur quatre bits, passe sans problème.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Pour trancher entre les deux causes, relance la conversion sans le second argument. Si la valeur passe seule, c'est la largeur qui coince, comme pour FF ou 1FF. Si elle échoue encore, c'est qu'elle sort de la plage convertible, et 3E8 est dans ce cas puisqu'il dépasse 1FF.
Une fois les morceaux assemblés, ta formule donne ça :=HEXBIN(A2; B2)
Explication
La même erreur #NOMBRE! recouvre deux fautes bien différentes. Sur la ligne 1FF, la valeur est acceptée par la fonction mais son résultat fait neuf bits, qui ne rentrent pas dans les huit demandés. Sur la ligne 3E8, c'est la valeur elle-même qui sort de la plage convertible, et aucune largeur ne la sauvera.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction HEXBIN

Avec HEXBIN, deux soucis reviennent et ils n'ont rien à voir l'un avec l'autre. Soit ta valeur d'entrée coince (un caractère qui n'est pas entre 0-9 ou A-F, ou un nombre trop gros pour la plage gérée) et tu récoltes #NOMBRE!. Soit l'entrée est bonne mais le nb_caractères que tu as fixé est trop court pour contenir tous les bits, et là c'est #VALEUR!.

Erreur #NOMBRE! – valeur hexadécimale invalide ou trop grande

Le nombre hexadécimal contient des caractères autres que 0-9 et A-F, ou bien la valeur dépasse la limite de conversion de HEXBIN (qui ne gère que les petits nombres positifs sur 10 bits).

Solution : Vérifie que ta cellule source ne contient que des caractères hexadécimaux valides. Pour des valeurs plus grandes, décompose en plusieurs appels HEXBIN sur des groupes de 2 caractères (un octet à la fois).

Erreur #VALEUR! – résultat trop long pour nb_caractères

Le résultat binaire réel de la conversion est plus long que la valeur spécifiée dans nb_caractères. Par exemple, =HEXBIN("FF"; 4) échoue car FF = 11111111 (8 bits) ne tient pas dans 4 caractères.

Solution : Augmente nb_caractères pour qu'il soit suffisamment grand, ou omets ce paramètre pour laisser Excel déterminer automatiquement la longueur du résultat.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

HEXBIN vs HEXDEC vs HEXOCT vs BINHEX

Prends HEXBIN quand tu veux voir les bits un par un : masques, flags de registre, canaux d'une couleur. Si tu cherches plutôt une valeur calculable (une adresse IP, un total), c'est HEXDEC qui te donne le décimal, sans paramètre de longueur. HEXOCT vise les permissions Unix en base 8, et BINHEX fait le chemin inverse : il recompacte une chaîne binaire en hexadécimal.

CritèreHEXBINHEXDECHEXOCTBINHEX
ConversionHexadécimal → BinaireHexadécimal → DécimalHexadécimal → OctalBinaire → Hexadécimal
Base sourceBase 16Base 16Base 16Base 2
Base cibleBase 2Base 10Base 8Base 16
Paramètre longueur✅ Oui❌ Non✅ Oui✅ Oui
Cas d'usage typiqueAnalyse de bits, flags, couleursCalculs numériques, adresses IPPermissions Unix (chmod)Synthèse de valeurs binaires
Le chiffre clé
HEXBIN plafonne à 1FF, soit 511 en décimal, pour un résultat positif. Au-delà, elle renvoie #NOMBRE! : découpe alors ta valeur en groupes de deux caractères, un octet à la fois.
FAQ

Questions fréquentes

L'hexadécimal est une représentation compacte du binaire : 1 chiffre hexa = 4 bits. Convertir en binaire permet de visualiser les bits individuels, ce qui est utile pour analyser des masques de bits, des flags de registre, des permissions ou toute donnée où chaque bit a une signification distincte.

Ressources

Pour aller plus loin

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

Tout voir