Les bases de la base : binaire, hexa, octal et ASCII pour les humains
Vous pensiez pouvoir éviter les mathématiques après le bac ? Mauvaise nouvelle. En informatique, les nombres sont partout. Pire encore : ils ne parlent même pas notre langue. Ils parlent binaire, hexadécimal, octal et ASCII. Un peu comme des étudiants Erasmus bourrés, mais avec plus de rigueur.
Le binaire : le langage préféré des processeurs
En binaire, tout se résume à deux états : 0 ou 1. C’est simple, clair, sans nuance. Comme un chatbot de 2005. Le binaire est utilisé à la base de tout : stockage, transmission, logique, amour… (ok, pas amour).
- 1 bit : 0 ou 1
- 1 octet (byte) : 8 bits, donc 256 valeurs possibles (0 à 255)
- Exemples courants :
- 00000000 = 0
- 11111111 = 255
- 01010101 = 85 (et un motif que certains trouvent sexy)
L’hexadécimal : le binaire qui s’est mis sur son 31
L’hexadécimal est une manière plus lisible d’écrire du binaire. Il utilise 16 symboles : 0 à 9 puis A à F. Chaque caractère héxa représente 4 bits. C’est comme du binaire, mais qui a pris une douche et mis une chemise propre.
- 0x00 = 0
- 0xFF = 255
- 0x7F = 127
- 0xFFFFFF = 16777215 (couleur blanche en RGB)
- 0xFF0000 = rouge pur
- 0x00FF00 = vert pur
- 0x0000FF = bleu pur
- 0xDEADBEEF = un classique des programmeurs fatigués
L’octal : l’oublié de la famille
L’octal utilise les chiffres de 0 à 7. Chaque chiffre représente 3 bits. C’était populaire dans les années 70, comme les pantalons pattes d’éléphant. Aujourd’hui, on le croise surtout en droits Unix.
- 0777 = tous les droits (lecture, écriture, exécution)
- 0755 = droits classiques pour un exécutable
- 0000 = aucun droit. Même pas celui de pleurer.
L’ASCII : quand les lettres deviennent des chiffres
L’ASCII (American Standard Code for Information Interchange) est la norme qui associe chaque caractère à un nombre. Parce que les machines aiment les chiffres, pas les lettres. Ce qui explique probablement pourquoi votre imprimante vous déteste.
- 0 = caractère nul (NULL, utilisé pour terminer une chaîne de caractères)
- 32 = espace (oui, même le vide a un code)
- 9 = tabulation horizontale (\t)
- 10 = saut de ligne (\n, utilisé par Unix/Linux)
- 13 = retour chariot (\r, utilisé par Windows avec \n)
- 64 = ‘@’
- 92 = ‘\\’ (backslash, pour les chemins Windows : C:\\Users\\Vous)
- 65 = ‘A’
- 97 = ‘a’
- 255 = souvent utilisé comme masque (255.255.255.0 pour un sous-réseau classique)
Pourquoi c’est important ?
Ces représentations sont omniprésentes en informatique :
- Debugging : les erreurs s’affichent souvent en hexa.
- Sécurité : l’encodage des données, les permissions.
- Réseaux : les paquets, les entêtes, tout est binaire.
- Développement bas niveau : impossible de survivre sans un minimum de fluency en ces langages obscurs.
- Design & Web : la couleur #FFFFFF, c’est plus qu’un hashtag, c’est du blanc pur. RGB, baby.
Conclusion
Comprendre les bases numériques, c’est comme apprendre à lire la matrice. Ça ne rendra pas vos cheveux plus brillants, mais ça pourrait bien vous éviter de passer 3 jours à chercher pourquoi votre programme imprime « ÿ » au lieu de « é ».
Et rappelez-vous : tout est nombre. Surtout les erreurs.