Hexadécimal vers décimal : donner un sens à une valeur hexadécimale
Ce que fait cette conversion
Elle lit une valeur en base 16 et la reformule en base 10. L’hexadécimal arrange la machine et quiconque compare des motifs de bits, mais c’est un chiffre décimal qu’il faut pour un seuil, une taille d’octet ou tout ce qu’une personne doit juger d’un coup d’œil. C’est le sens vers lequel on se tourne quand un outil vous tend une valeur et cesse de l’expliquer.
Les poids de position sont des puissances de 16
En partant de la droite, chaque chiffre hexadécimal est multiplié par 1, 16, 256, 4096, etc. Pour 1E90FF, la valeur vaut 1 × 16 puissance 5 plus 14 × 16 puissance 4 et ainsi de suite, soit 2003199. Le calcul est la même somme pondérée que dans toute base ; seuls les poids changent, et c’est pourquoi la méthode vaut aussi pour le binaire et l’octal.
Tableau de conversion de l’hexadécimal vers le décimal
Des valeurs hexadécimales qui reviennent régulièrement en débogage et sur le web, avec leur équivalent décimal. Les nombres hexadécimaux ronds sont ceux à mémoriser, car ils marquent les frontières d’octet et de page.
| Hexadécimal | Décimal |
|---|---|
| 0 | 0 |
| 1 | 1 |
| F | 15 |
| 10 | 16 |
| 7F | 127 |
| A5 | 165 |
| FF | 255 |
| 1000 | 4096 |
| FFFF | 65535 |
| DEADBEEF | 3735928559 |
Ce que l’on décode réellement
Trois tâches reviennent sans arrêt : lire un canal de couleur, vérifier une adresse mémoire par rapport à une limite, et rendre comparable un hachage tronqué. La couleur est l’exemple le plus parlant : 0x1E90FF se découpe en 30, 144 et 255, ce qui indique un canal bleu saturé et un canal rouge faible. La même lecture en trois temps s’applique à toute valeur compactée, et elle est bien plus simple une fois les octets séparés.
Découpez la valeur avant de la convertir
Une couleur de six chiffres ou une longue adresse se lit mieux par groupes de deux chiffres, chaque groupe valant un octet. Convertir la valeur entière d’un coup donne bien une réponse, mais c’est le découpage qui montre quel octet sort de l’ordinaire — et c’est presque toujours la vraie question.
Questions fréquentes
Comment convertir de l’hexadécimal en décimal à la main ?
Multipliez chaque chiffre par son poids de position — 1, 16, 256, 4096, etc. depuis la droite — et additionnez les résultats. Rappelez-vous que A vaut 10, B vaut 11 et ainsi de suite jusqu’à F pour 15. Pour 1E90FF, cela donne 1048576 + 917504 + 36864 + 0 + 240 + 15, soit 2003199.
Pourquoi les adresses mémoire ressemblent-elles à de longs nombres hexadécimaux ?
Parce qu’elles sont naturellement alignées sur les frontières d’octet et de mot, et que les chiffres hexadécimaux s’alignent sur ces frontières, contrairement aux chiffres décimaux. Deux chiffres hexadécimaux font un octet : les chiffres de tête d’une adresse décrivent donc sa page, et les chiffres de queue son décalage à l’intérieur de cette page.
Puis-je coller une valeur avec le préfixe 0x ?
Oui, le préfixe est reconnu et retiré avant la conversion : une valeur copiée directement depuis un débogueur ou un fichier source fonctionne sans retouche. Un préfixe qui ne correspond pas à la page courante est signalé au lieu d’être ignoré en silence, ce qui évite qu’une valeur mal lue passe inaperçue.
Quelle taille peut atteindre la valeur hexadécimale ?
Soixante-quatre bits et bien au-delà. Les valeurs du haut de cette plage dépassent ce que l’arithmétique ordinaire en virgule flottante contient exactement : la conversion s’exécute donc en arithmétique entière exacte et renvoie chaque chiffre correct, plutôt que l’arrondi d’un tableur.
Un préfixe de hachage a-t-il un sens en tant que nombre ?
Arithmétiquement oui, pratiquement non. Convertir les premiers octets d’un hachage en décimal aide à repérer des motifs ou à écrire une comparaison dans un script, mais un hachage tronqué a perdu la propriété qui en faisait un hachage : ne traitez pas sa forme décimale comme un identifiant à part entière.