- Système hexadécimal
-
Le système hexadécimal est un système de numération positionnel en base 16. Il utilise ainsi 16 symboles, en général les chiffres arabes pour les dix premiers chiffres et les lettres A à F pour les six suivants.
Le système hexadécimal est utilisé par les informaticiens 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.
Sommaire
Étymologie
L'adjectif hexadécimal provient de la juxtaposition de hexa et de décimal. Le préfixe hexa provient du grec ἕξ (hex) qui signifie six alors que décimal est un terme de provenance latine. Le choix a été fait dans l'appellation d'écrire 6+10 au lieu de 16, pour insister sur l'ajout de six chiffres supplémentaires par rapport au système décimal, système largement diffusé aux États-Unis.
Pour obtenir une cohérence dans l'étymologie tout en conservant l'écriture 6+10, la documentation Bendix utilisait l'appellation sexadécimal ; mais l'appellation fut rejetée, jugée trop risquée. Selon Schwartzman[1], les pirates informatiques auraient été tentés d'utiliser l'abréviation sex. Selon Donald Knuth[2] la bonne appellation aurait dû être senidenary ou en français système sénidénaire, dont la construction étymologique est la même que système binaire.
Écriture des entiers
0hex = Le système hexadécimal nécessite l'introduction de 16 chiffres, représentant les 16 premiers entiers positifs :
- 0 ; 1 ; 2; 3 ; 4 ; 5; 6 ; 7 ; 8 ; 9 ; A; B ; C ; D ; E ; F.
Un entier est écrit comme la concaténation de ces chiffres, et sa lecture s'effectue de droite à gauche. Sa valeur vaut la somme des chiffres affectés de poids correspondant aux puissances successives du nombre 16. Par exemple, 4D516 vaut 5 * 160 + 13 * 161 + 4 * 16 2 = 123710.
L'addition s'effectue à partir de la technique de l'addition et de la table d'addition suivante :
+ 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 5 6 7 8 9 A B C D E F 10 11 12 13 14 6 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 7 8 9 A B C D E F 10 11 12 13 14 15 16 8 8 9 A B C D E F 10 11 12 13 14 15 16 17 9 9 A B C D E F 10 11 12 13 14 15 16 17 18 A A B C D E F 10 11 12 13 14 15 16 17 18 19 B B C D E F 10 11 12 13 14 15 16 17 18 19 1A C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E La multiplication s'effectue à partir de la technique de la multiplication par glissement par jalousies et en utilisant la table de multiplication suivante :
x 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 8 9 A B C D E F 2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E 3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D 4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C 5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B 6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78 9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87 A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5 C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4 D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3 E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2 F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1 Utilisation, avantages et inconvénients
Ce format est largement utilisé en informatique car il offre une conversion facile avec le système binaire, système employé par les ordinateurs.
Il est en effet possible de traduire du binaire vers de l'hexadécimal et réciproquement, groupe de chiffres par groupe de chiffres. Cette caractéristique s'explique par le fait que 16 (nombre de chiffres dans la base hexadécimale) est lui-même une puissance de 2 (nombre de chiffres de la base binaire), et donc que la quantité d'information d'un chiffre hexadécimal vérifie :
log2(16) = 4 * log2(2)
Cette égalité revient à dire que : « À un chiffre dans la base 16, correspondent exactement quatre chiffres dans la base 2. »
Cette facilité de conversion a conduit la notation hexadécimale à être utilisée pour noter des nombres initialement quantifiés ou à destination d'être quantifiés en binaire, l'hexadécimal étant plus compact (quatre fois moins de chiffres) et offrant une meilleur lisibilité pour l'œil humain.
Un avantage supplémentaire de la base 16 est sa concordance avec l'octet, mot de 8 bits auquel correspond aujourd'hui fréquemment un byte, la plus petite unité de stockage adressable. En se basant sur la formule précédente, nous pouvons facilement constater qu'à 8 bits correspondent exactement deux chiffres hexadécimaux :
2 * log2(16) = 8 * log2(2)
Il est donc commode de noter la valeur d'un octet sur deux chiffres hexadécimaux.
La table ASCII a été construite de façon à faire commencer les suites de symboles élémentaires (chiffres, lettres minuscule, lettres majuscules) à des positions remarquables lorsqu'elles sont exprimés en binaire, octal ou hexadécimal.Par exemple, la lettre « A » correspond ainsi au code hexadécimal 41 (40 + la position de la lettre dans l'alphabet), le chiffre « 0 » correspond au code hexadécimal 30 (30 + la valeur du chiffre).
Les conversions entre le système décimal et l'hexadécimal sont moins aisées que les conversions entre le système décimal et le binaire[3].Conversion
La conversion de binaire en hexadécimal se fait en regroupant les chiffres (les bits) quatre par quatre, ou inversement en remplaçant chaque chiffre hexadécimal par 4 chiffres binaires :
binaire 1.0101.1010.1010.1100.1111.0111 regroupé par 4 1 0101 1010 1010 1100 1111 0111 regroupé en hexadécimal 1 5 A A C F 7 hexadécimal 15AACF7 (Décimal) 22719735 La conversion vers le système décimal est réalisée en effectuant la somme
où n est le nombre de chiffres et où hi est la valeur du chiffre hexadécimal à la position i.
Ainsi 15AACF7 se convertit en décimal de la façon suivante1×166 + 5×165 + 10×164 + 10×163 + 12×162 + 15×161 + 7×160 = 22719735.
La conversion du décimal vers l'hexadécimal se fait par une suite de divisions entières ou bien en utilisant le binaire comme base intermédiaire.Notation
Des notations sont utilisées, notamment dans les langages informatiques, pour différencier sans ambiguïté les chiffres hexadécimaux des autres :
- notation préfixée : 0x123 (langage C et dérivés), &h123 (BASIC), $123 (en Pascal, et dérivés comme le VHDL en électronique), mais aussi #123 (Common Lisp), 0h123 (Texas Instrument) ou X'123' (COBOL)
- notation suffixée : 123h, 123(16) (arithmétique)
Voir aussi nombres hexadécimaux dans l'article Wikipédia:Conventions typographiques.
Système bibi-binaire
Le chanteur et humoriste Boby Lapointe avait inventé en 1968 un système hexadécimal, appelé système bibi-binaire à la fois drôle et cohérent.
Codage des couleurs
Le Système hexadécimal est un des modes de codage informatique des couleurs des écrans d'ordinateurs.
Notes et références
- Schwartzman, S. (1994). The Words of Mathematics: an etymological dictionary of mathematical terms used in English.
- Knuth, Donald. (1969). Donald Knuth, in The Art of Computer Programming, Volume 2.
- en considérant que le produit par 0 ou 1 d'un terme est plus "aisé" qu'un produit par un facteur compris entre 0 à 15
Voir aussi
- Base (arithmétique)
- Système binaire
- Système de numération
- Temps hexadécimal
- John W. Nystrom
- Éditeur hexadécimal
Catégories :- Système de numération
- Calcul informatique
- Calcul numérique
Wikimedia Foundation. 2010.
Contenu soumis à la licence CC-BY-SA. Source : Article Système hexadécimal de Wikipédia en français (auteurs)
Regardez d'autres dictionnaires:
Systeme hexadecimal — Système hexadécimal Le système hexadécimal est un système de numération positionnel en base 16. Il utilise ainsi 16 symboles, en général les chiffres arabes pour les dix premiers chiffres et les lettres A à F pour les six suivants. Le système… … Wikipédia en Français
Système Hexadécimal — Le système hexadécimal est un système de numération positionnel en base 16. Il utilise ainsi 16 symboles, en général les chiffres arabes pour les dix premiers chiffres et les lettres A à F pour les six suivants. Le système hexadécimal est utilisé … Wikipédia en Français
Hexadecimal — Système hexadécimal Le système hexadécimal est un système de numération positionnel en base 16. Il utilise ainsi 16 symboles, en général les chiffres arabes pour les dix premiers chiffres et les lettres A à F pour les six suivants. Le système… … Wikipédia en Français
Hexadécimal — Système hexadécimal Le système hexadécimal est un système de numération positionnel en base 16. Il utilise ainsi 16 symboles, en général les chiffres arabes pour les dix premiers chiffres et les lettres A à F pour les six suivants. Le système… … Wikipédia en Français
Héxadécimal — Système hexadécimal Le système hexadécimal est un système de numération positionnel en base 16. Il utilise ainsi 16 symboles, en général les chiffres arabes pour les dix premiers chiffres et les lettres A à F pour les six suivants. Le système… … Wikipédia en Français
Systeme quaternaire — Système quaternaire Le système quaternaire est le système de numération de base 4. Il utilise les chiffres 0, 1, 2 et 3 pour représenter n importe quel nombre réel. Il partage avec tous les systèmes de numération à radical fixé plusieurs… … Wikipédia en Français
Systeme octal — Système octal Le système de numération octal est le système de numération de base 8, et utilise les chiffres de 0 à 7. D après l ouvrage de Donald Knuth s, The Art of Computer Programming, il fut inventé par le roi Charles XII de Suède. La… … Wikipédia en Français
Systeme trinaire — Système trinaire Le système trinaire ou ternaire est le système de numération de la base 3. Les chiffres ternaires sont connus sous le nom trit (trinary digit), de manière analogue à bit. Bien que la plupart du temps, cela fait référence à un… … Wikipédia en Français
Système ternaire — Système trinaire Le système trinaire ou ternaire est le système de numération de la base 3. Les chiffres ternaires sont connus sous le nom trit (trinary digit), de manière analogue à bit. Bien que la plupart du temps, cela fait référence à un… … Wikipédia en Français
Système quaternaire — Le système quaternaire est le système de numération de base 4. Il utilise les chiffres 0, 1, 2 et 3 pour représenter n importe quel nombre réel. Il partage avec tous les systèmes de numération à radical fixé plusieurs propriétés, telle que la… … Wikipédia en Français