Aller au contenu principal
CalcMax

Convertisseur de décimal en hexadécimal

Résultat

2A3F

Hexadécimal

Valeurs de position
2×4096 + 10×256 + 3×16 + 15

Un convertisseur de décimal en hexadécimal réécrit un nombre entier de la base dix dans la base seize. La méthode est la même division répétée qui produit le binaire, avec seize à la place de deux : divisez le nombre par seize, gardez le reste, divisez le quotient par seize, et continuez jusqu’à ce que le quotient tombe à zéro. Ce qui change, c’est l’alphabet. Une division par deux ne peut laisser que 0 ou 1, mais une division par seize peut laisser n’importe quelle valeur de 0 à 15, et la base seize écrit ces valeurs de dix à quinze avec les lettres A à F — A pour 10, B pour 11, jusqu’à F pour 15. Les restes ne sortent donc pas directement en chiffres hexadécimaux ; ils sortent en nombres, et tout reste supérieur à 9 doit être écrit sous sa lettre avant que la réponse soit terminée. Prenons 10 815 : 10 815 ÷ 16 font 675 et il reste 15, puis 675 ÷ 16 font 42 et il reste 3, puis 42 ÷ 16 font 2 et il reste 10, et enfin 2 ÷ 16 font 0 et il reste 2. Lus de bas en haut, les restes sont 2, 10, 3 et 15 — qui deviennent 2, A, 3 et F, donc 10 815 s’écrit 2A3F en hexadécimal. Les lettres sont tout le sujet de la page. La somme des valeurs de position imprimée à côté de la réponse montre le même nombre par l’autre bout : en base seize, les rangs valent 4 096, 256, 16 et 1, et 2A3F vaut 2×4 096 plus 10×256 plus 3×16 plus 15, ce qui redonne 10 815. La base seize est utilisée parce qu’un chiffre hexadécimal contient exactement quatre chiffres binaires, donc un octet fait toujours deux caractères et une valeur de trente-deux bits en fait toujours huit — c’est pourquoi les codes de couleur, les adresses mémoire et les empreintes s’écrivent ainsi.

Diviser 10 815 par seize, tour après tour, jusqu’à ce que le quotient tombe à zéro

ÉtapeDivision par 16Quotient entierReste
110815 ÷ 1667515 (F)
2675 ÷ 16423
342 ÷ 16210 (A)
42 ÷ 1602

Deux des quatre restes de cette échelle sont écrits sous la forme d’un nombre suivi de sa lettre entre parenthèses — 15 (F) et 10 (A) — et cette double écriture est la raison d’être du tableau. L’arithmétique vous donne 15 ; la réponse a besoin de F. Qui divise correctement puis recopie la colonne des restes telle quelle écrit 2103 au lieu de 2A3F, et c’est la seule erreur que cette conversion invite à faire. Lisez la colonne de bas en haut et les caractères de la réponse apparaissent dans l’ordre : 2, 10, 3 et 15, soit 2A3F une fois les deux valeurs supérieures à neuf remplacées. Le tableau est fixé sur la valeur par défaut tandis que le panneau du dessus convertit ce que vous avez tapé, parce qu’il montre la méthode plutôt qu’un résultat. Le quotient est divisé par environ seize à chaque tour, donc l’échelle de la plus grande saisie acceptée ne fait que quatorze lignes — ce qui est exactement la longueur du plafond hexadécimal, 1FFFFFFFFFFFFF.

Formule

10 815 ÷ 16 = 675 reste 15 → 675 ÷ 16 = 42 reste 3 → 42 ÷ 16 = 2 reste 10 → 2 ÷ 16 = 0 reste 2 ⇒ 10 815 = 2A3F = 2×4 096 + 10×256 + 3×16 + 15

10 815
Le nombre entier à convertir, écrit en base dix. Une virgule décimale ou un séparateur de milliers est refusé plutôt qu’arrondi, écrivez donc 10 815 et non « 10.815 »
÷ 16
L’étape qui se répète, avec seize à la place du deux qu’utilise la version binaire de cette page. Seize est la base dans laquelle on convertit, chaque tour demande donc combien de seize tiennent dans le nombre et ce qui reste
quotient
La part qui passe au tour suivant. Le processus s’arrête quand le quotient tombe à zéro, ce qui veut dire qu’aucun rang plus haut n’est nécessaire dans la réponse
reste
Le chiffre produit par ce tour, et ici il peut valoir n’importe quoi de 0 à 15 au lieu de seulement 0 ou 1. Effacer cette différence est la façon la plus courante de rater cette conversion : le reste 15 n’est pas le chiffre 15, parce que la base seize n’a aucun caractère unique pour lui
A — F
Les lettres qui représentent les valeurs de dix à quinze, avec A pour 10, B pour 11, C pour 12, D pour 13, E pour 14 et F pour 15. Ce n’est pas une notation séparée à apprendre : chacune est simplement le nombre qui ne pouvait pas s’écrire avec un seul caractère décimal
⇒ 2A3F
Les chiffres assemblés de bas en haut, chaque reste supérieur à 9 ayant déjà été remplacé par sa lettre. Le premier reste trouvé est le caractère le plus à droite, donc lire les tours dans l’ordre où ils ont été écrits donne la réponse à l’envers
2×4 096 + 10×256 + 3×16 + 15
La réponse relue comme valeurs de position. Contrairement au binaire, les coefficients ne valent pas tous un — c’est la vérification qui attrape une lettre convertie en mauvais nombre, parce qu’un A faux changerait la somme

L’hexadécimal est le raccourci que lisent les ingénieurs, cette conversion se présente donc chaque fois qu’une valeur doit passer d’un monde à l’autre. Les codes de couleur sont le cas quotidien : un canal qui va de 0 à 255 fait deux caractères hexadécimaux, c’est pourquoi une couleur s’écrit avec six d’entre eux et pourquoi le 10 815 d’un graphiste et le 2A3F d’un développeur sont la même couleur. Les adresses mémoire, les sommes de contrôle, les empreintes et les valeurs de registre d’une fiche technique s’impriment toutes en base seize pour la même raison — quatre bits par caractère, donc la largeur d’une valeur se lit d’un coup d’œil. Qui lit une pile d’appels ou un vidage de paquets fait cette conversion dans l’autre sens des dizaines de fois par heure, et qui écrit un masque ou un nombre magique la fait dans celui-ci. Les exercices la demandent directement, en général sous la forme convertir un décimal en hexadécimal en montrant le travail, et c’est exactement ce que l’échelle du dessous est : une ligne par division, avec les lettres déjà substituées. C’est aussi l’étape qui rend la largeur d’une valeur évidente, puisque deux caractères font un octet et huit font un mot de trente-deux bits, la conversion répond donc aussi au nombre de caractères qu’une valeur occupera dans le format où elle entre.

Exemples détaillés

  1. Écrire 10 815 en hexadécimal

    1. 10 815 ÷ 16 = 675, reste 15 — notez 15, qui s’écrit F
    2. 675 ÷ 16 = 42, reste 3
    3. 42 ÷ 16 = 2, reste 10 — qui s’écrit A
    4. 2 ÷ 16 = 0, reste 2 — le quotient a atteint zéro, on s’arrête
    5. Lisez les restes de bas en haut : 2, 10, 3 et 15
    6. Remplacez 10 par A et 15 par F : la réponse est 2A3F

    Le cas par défaut, et l’exemple qui montre les deux substitutions. À noter que deux des quatre restes demandent une lettre, ce qui est typique et non malchanceux : un reste supérieur à 9 se présente environ six fois sur seize, et une réponse de trois ou quatre caractères en contient presque toujours au moins un.

  2. Un octet complet, 255

    1. 255 ÷ 16 = 15, reste 15 — notez-le F
    2. 15 ÷ 16 = 0, reste 15 — notez-le F
    3. Le quotient a atteint zéro, lisez donc les deux restes de bas en haut : FF

    Deux caractères pour la plus grande valeur qu’un octet puisse porter, et c’est exactement pourquoi l’hexadécimal existe. Le couple FF et 255 mérite d’être retenu : c’est le plafond d’un canal de couleur, d’un octet non signé dans la plupart des langages, et d’un caractère de données brutes.

  3. Une puissance de seize, 1 048 576

    1. 1 048 576 ÷ 16 = 65 536, reste 0
    2. 65 536 ÷ 16 = 4 096, reste 0
    3. 4 096 ÷ 16 = 256, reste 0
    4. 256 ÷ 16 = 16, reste 0
    5. 16 ÷ 16 = 1, reste 0
    6. 1 ÷ 16 = 0, reste 1 — lisez de bas en haut pour obtenir « 100000 » en hexadécimal

    L’écho en hexadécimal de l’exemple de la puissance de deux sur la page binaire : une puissance de la base donne un seul 1 suivi de zéros. 1 048 576 vaut 16⁵ et aussi 2²⁰, ce qui est tout l’intérêt de la notation — la même valeur s’écrit 100000000000000000000 en binaire et 100000 en hexadécimal, et la seconde est lisible.

  4. Un nombre négatif

    1. Le signe moins est reporté, pas converti : les chiffres se calculent pour 10 815 comme dans le premier exemple
    2. 10 815 ÷ 16 = 675 et il reste 15, et ainsi de suite jusqu’à 0 et il reste 2
    3. Les chiffres lus de bas en haut sont 2, A, 3 et F
    4. Le signe se place devant : -2A3F

    Un signe moins placé devant est accepté et imprimé devant, et la somme des valeurs de position est mise entre parenthèses pour que le moins porte sur la somme entière plutôt que sur son premier terme. À noter ce que ce n’est pas : c’est une lecture signée d’une magnitude, pas le motif de bits en complément à deux qu’une machine stockerait. Si vous cherchez le contenu de registre d’une valeur négative plutôt que sa notation signée, c’est une autre question et une autre page.

Limites

Cette page ne convertit que des nombres entiers, une virgule décimale est donc refusée plutôt qu’arrondie — 10 815,5 ne peut pas être converti ici. Les séparateurs de milliers sont refusés eux aussi : écrivez 10 815 et non « 10.815 », parce que la virgule est un séparateur décimal dans certaines langues et que deviner entre les deux lectures est pire que de le demander clairement. La saisie peut faire au plus 9 007 199 254 740 991, soit quatorze caractères hexadécimaux, et sa forme hexadécimale est 1FFFFFFFFFFFFF — le même plafond que celui qui apparaît sur les pages binaires comme cinquante-trois chiffres, parce que c’est une seule limite écrite dans deux bases. Les zéros de tête et un signe moins placé devant sont acceptés tous les deux ; le moins produit une lecture signée de la magnitude et non un motif de bits en complément à deux. Le tableau plus bas imprime l’échelle pour 10 815 et ne suit pas le nombre que vous avez tapé. Convertir dans l’autre sens, de l’hexadécimal vers le décimal, est une page à part, et celle-ci ne fait aucune arithmétique sur le résultat.

Questions fréquentes

Comment convertir un nombre décimal en hexadécimal à la main ?
Divisez par seize, notez le reste, puis divisez le quotient par seize et recommencez jusqu’à ce que le quotient soit nul. Lisez les restes de bas en haut et remplacez chaque reste supérieur à 9 par sa lettre : 10 est A, 11 est B, 12 est C, 13 est D, 14 est E et 15 est F. Pour 10 815, les restes sortent dans l’ordre 15, 3, 10 et 2, ce qui, lu à l’envers et substitué, donne 2A3F.
Pourquoi utilise-t-on des lettres en hexadécimal ?
Parce que la base seize a besoin de seize caractères uniques et que les chiffres décimaux n’en fournissent que dix. Les six symboles manquants doivent venir de quelque part, et les lettres sont la convention sur laquelle tous les systèmes s’accordent. A vaut dix et F vaut quinze, les chiffres du système vont donc de 0 à 9 puis de A à F. Ce n’est pas une chose de plus à mémoriser par-dessus la conversion — une lettre n’est jamais que le nom d’un reste qui ne tenait pas dans un seul caractère décimal.
Quel est le plus grand nombre décimal que je peux convertir ici ?
9 007 199 254 740 991, qui s’écrit 1FFFFFFFFFFFFF en hexadécimal — quatorze caractères. La limite vient du même endroit que celle de cinquante-trois chiffres sur les pages binaires, parce que c’est le même nombre exprimé dans deux bases. Tout ce qui est plus grand est refusé avec un message au lieu d’être converti, puisqu’au-delà de cette largeur une machine ne peut plus tenir deux entiers voisins à l’écart et qu’une réponse convertie ne serait pas fiable.
L’hexadécimal est-il la même chose que le binaire, en plus court ?
C’est la même valeur écrite dans une base qui est une puissance de deux, c’est pourquoi les deux se rejoignent si facilement. Chaque caractère hexadécimal fait exactement quatre chiffres binaires, donc 2A3F est 0010 1010 0011 1111 sans rien qui dépasse. Ce n’est pas une coïncidence de cet exemple : cela vaut pour tout nombre hexadécimal, et c’est la raison pour laquelle on l’utilise. Rien n’est perdu dans le changement et rien n’a besoin d’être arrondi.
Puis-je convertir un nombre décimal avec une partie fractionnaire ?
Pas ici. Cette page prend des nombres entiers, donc 10 815,5 est refusé plutôt qu’arrondi. Les fractions en base seize sont parfaitement définies — les rangs à droite de la virgule valent un seizième, un deux-cent-cinquante-sixième, et ainsi de suite — mais les accepter voudrait dire décider combien de caractères garder et comment arrondir le dernier, et toutes les pages de ce groupe convertissent des nombres entiers.
Pourquoi la page imprime-t-elle une somme de valeurs de position en plus du nombre hexadécimal ?
Parce que c’est la vérification qui attrape l’erreur de substitution. Si vous avez transformé le reste 15 en une mauvaise lettre, ou mis un A là où il fallait un F, la somme imprimée ne redonnera pas le nombre de départ — 2×4 096 + 10×256 + 3×16 + 15 ne vaut 10 815 que si les lettres ont été lues correctement. Contrairement à la version binaire de cette somme, les coefficients ne valent pas tous un, donc chaque caractère de la réponse est comptabilisé séparément.

Références

Calculatrices liées