Le système hexadécimal est utilisé notamment en électronique numérique et en informatique car il est particulièrement commode et permet un compromis entre le code binaire des machines et une base de numération pratique à utiliser pour les ingénieurs. En effet, chaque chiffre hexadécimal correspond exactement à quatre chiffres binaires (ou bits), rendant les conversions très simples et fournissant une écriture plus compacte. L'hexadécimal a été utilisé la première fois en 1956 par les ingénieurs de l'ordinateur Bendix G-15.
Le principe générale est le même que pour l'encodage en base 10 ou base 2.
Pour écrire un nombre en base 16, il faut disposer d'un caractère pour chacun des entiers de 0 à 15. Or, on ne dispose pas d'assez de chiffres pour écrire les 16 valeurs de la base 16. On complète donc les chiffres de 0 à 9 par les six premières lettres de l'alphabet : A, B, C, D, E, F.
Base 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Base 16 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
$16_{10}=1\times16^1+0\times16^{0}=10_{16}$
$A_{16}=10\times 16^{0}=10_{10}$
$A1_{16}=10\times16^{1}+1\times 16^{0}=161_{10}$
$25_{10}=16+9=1\times 16^{1}+9\times 16^{0}=19_{16}$
$A9C3F2=10 \times 16^{5}+9\times 16^{4}+12\times 16^{3}+3\times 16^{2}+15\times 16^{1}+2\times 16^{0}=11125746_{10}$
$165469_{10}=2865D_{16}$
Une autre vidéo avec une autre explication et un autre exemple :
Prouver que $2A4DF1_{16}=2772465_{10}$.
Dans cette exercice, un nombre écrit en hexadécimal sera représenté sous forme de liste. par exemple A9C3 est représenté par ["A",9,"C",3]
Écrire une fonction hexa_en_deci(l)
en Python qui renvoie, à une liste correspondant à l'écriture en hexadécimal d'un nombre, le nombre codé en base 10.
Il est utile d'implémenter un dictionnaire reprenant le tableau donnant la correspondance base 10/base 16.
Tester votre fonction avec l'exemple précédent
Une lecture de l'exercice précédent pour vous aider à le réussir :
L'algorithme de conversion de la base 10 à la base 16 est très proche de celui de la conversion de décimal à binaire. Prenons un exemple :
L'écriture binaire de $5869_{10}$ est donc $16ED_{16}$
Une autre vidéo avec une autre explication et un autre exemple :
Convertir $2988_{10}$ en hexadécimal.
Dans cette exercice, un nombre écrit en hexadécimal sera représenté sous forme de liste. par exemple A9C3 est représenté par ["A",9,"C",3]
Écrire une fonction deci_en_hexa(nombre)
en Python qui renvoie à un nombre codé en base 10 une liste correspondant au codage de ce nombre en base 16.
Il sera utile d'implémenter un dictionnaire reprenant le tableau au donnant la correspondance base 10/base 16.
Tester votre fonction avec l'exemple précédent.
Historiquement, c'est la conversion binaire/hexadécimal qui a été utilisé.
Sur 4 bit on peut écrire les nombres de 0 à 15. Avec 4 bit on peut, par conséquent, coder toutes les possibilités en base 16.
Le passage d'un bloc de 4 bit au suivant se fait par la multiplication par 16.
Convertir les nombres $110010010001_{2}$ et $1001001110_{2}$ en base 16.
Convertir les nombres $FA91_{16}$ et $1CC_{16}$ en binaire.
Donner l'écriture décimale du nombre écrit en hexadécimal $FAC_{16}$.
Donner l'écriture en héxadécimal du nombre écrit en base 10 par $11995_{10}$.
Les différents
auteurs mettent l'ensemble du site à disposition selon les termes de la licence Creative
Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0
International