arrow_backRetour aux notes de terrain
COMPUTER SCIENCE Publié 5 Aug 2026

Binaire, hexadécimal et unités de données expliqués

Un glossaire pratique des conventions binaires, hexadécimales et d'unités de données utilisées en programmation, mise en réseau et travail en forensique.

Chaque octet que vous inspectez dans un éditeur hex, chaque masque de sous-réseau que vous calculez, chaque taille de fichier qu'un outil rapporte dépend d'un petit ensemble de systèmes de numération et de conventions d'unités. Si vous les comprenez mal, vous allez mal évaluer une taille de tampon, mal lire un dump mémoire, ou vous disputer avec un collègue pour savoir si 1 KB vaut 1000 ou 1024 octets.

Binaire : le système numérique que chaque ordinateur utilise réellement

Le binaire est en base 2 — seulement 0 et 1. Un seul chiffre binaire est un bit. Groupez 8 bits ensemble et vous obtenez un octet, qui peut représenter 256 valeurs distinctes (0 à 255 non signé, ou -128 à 127 signé en complément à deux).

Quand vous voyez 01001000 c'est 72 en décimal, qui est le code ASCII pour 'H'. La conversion manuelle consiste à faire la somme des puissances de 2 à partir du bit le plus à droite : 2^6 + 2^3 = 64 + 8 = 72. Des outils comme python3 -c "print(bin(72))" ou xxd sur un fichier font ça instantanément, mais comprendre les mathématiques importe quand vous faites de l'ingénierie inverse sur un masque de bits ou que vous déchiffrez des valeurs de drapeaux dans un en-tête TCP.

Hexadécimal : le raccourci du binaire

L'hex est en base 16, utilisant 0-9 et A-F. Il existe parce que le binaire est illisible à grande échelle et le décimal ne correspond pas proprement aux limites d'octets. Un chiffre hex représente exactement 4 bits, donc deux chiffres hex représentent un octet complet — 0x00 à 0xFF couvre toutes les 256 valeurs d'octet sans espace perdu.

C'est pourquoi les hex dumps sont par défaut dans les outils comme xxd, hexdump -C, ou la vue mémoire d'un désassembleur. Quand vous voyez 0x4D 0x5A au début d'un fichier, c'est l'en-tête MZ identifiant un exécutable PE Windows. Les adresses mémoire, les codes couleur (#FF5733), les adresses MAC et les adresses IPv6 s'écrivent tous conventionnellement en hex parce que ça correspond si proprement à la structure octets et nibbles sous-jacente.

Convertir l'hex en décimal : 0x4D = (4 × 16) + 13 = 77. En Python, int('4D', 16) vous y amène sans calcul manuel, et hex(77) fait l'inverse.

Où le binaire, le décimal et l'hex se rencontrent réellement en pratique

Les adresses IP sont un bon exemple où les trois se heurtent. Une adresse IPv4 comme 192.168.1.1 est en réalité quatre octets : 11000000.10101000.00000001.00000001 en binaire, ou C0.A8.01.01 en hex. Les mathématiques de sous-réseautage — déterminer si deux adresses sont sur le même réseau — sont fondamentalement des opérations AND binaires contre un masque de sous-réseau, même si nous écrivons tout en décimal pointé pour la commodité.

En forensique numérique et analyse de malwares, vous traduisez constamment entre ces représentations. Un désassembleur affiche les opcodes en hex, mais le CPU exécute du binaire brut, et les valeurs de registre s'interprètent souvent comme des décalages décimaux ou des chaînes ASCII selon le contexte. Savoir que 0x41 est à la fois le nombre 65 et le caractère ASCII 'A' est le type de reconnaissance de motifs qui accélère considérablement l'analyse manuelle.

Unités de données : le problème 1000 versus 1024

C'est là où les gens se font vraiment piéger. Les fabricants de stockage, les systèmes de fichiers et les systèmes d'exploitation ne s'entendent pas toujours sur ce qu'est un

Rédigé avec l'aide de l'IA, relu et publié par Michal Pilch (CISSP), Korra Studio.

Prêt à aller plus loin ?

Ceci est une note de la base de connaissances de Korra Studio — la plateforme associe chaque sujet à un mentorat individuel.

Commencer gratuitementarrow_forward