Difference between revisions of "MOOC:Compagnon Act12 vademecum hexadecimal"
From Livre IPv6
(→Vadémécum de notation hexadécimale) |
(→Vadémécum de notation hexadécimale) |
||
Line 84: | Line 84: | ||
Ainsi le nombre binaire suivant 0010101011010101 composé de 4 | Ainsi le nombre binaire suivant 0010101011010101 composé de 4 | ||
− | quartets (nibbles) 0010 1010 1101 0101 se note | + | quartets (nibbles) 0010 1010 1101 0101 se note 2ab5 en |
− | hexadécimal ( 0010 | + | hexadécimal ( 0010 => '''2''', 1010 => '''A''', 1101 => '''B''', |
− | 0101 | + | 0101 => '''5'''). |
− | Inversement le nombre hexadécimal | + | Inversement le nombre hexadécimal 7c8f20 se traduit par la chaîne |
binaire 0111 1100 1000 1111 0010 0000 | binaire 0111 1100 1000 1111 0010 0000 | ||
− | (7 | + | ('''7''' => 0111, '''c''' => 1100, '''8''' => 1000, |
− | + | '''f''' => 1111, '''2''' => 0010, '''0''' => 0000) et | |
correspond au code binaire 011111001000111100100000. | correspond au code binaire 011111001000111100100000. | ||
Line 103: | Line 103: | ||
hexadécimaux des autres : | 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 | + | * 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) | * notation suffixée : 123h, 123'''(16)''' (arithmétique) | ||
Line 110: | Line 110: | ||
hexadécimale, appelé système bibi-binaire à la fois drôle et | hexadécimale, appelé système bibi-binaire à la fois drôle et | ||
cohérent, basé sur des symboles graphiques convenus en lieu et | cohérent, basé sur des symboles graphiques convenus en lieu et | ||
− | place des chiffres arabes et lettres (de | + | place des chiffres arabes et lettres (de 'a' à 'f'). |
quelques pointeurs pour aller plus loin | quelques pointeurs pour aller plus loin |
Revision as of 16:41, 5 June 2015
Vadémécum de notation hexadécimale
Cet aide mémoire, librement inspiré de l'article "Systéme hexadécimal" de Wikipedia, est destiné à l'accompagnement des auditeurs qui ne sont pas familiers avec cette notation concise des nombres binaires.
Le système hexadécimal est un système de numération 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 (en majuscules ou en minuscules, sans importance en principe, mais il vaut mieux par cohérence adopter l'un ou l'autre pour la notation). Ce système est couramment utilisé en informatique et en électronique numérique pour représenter des codes binaires utilisés par les ordinateurs, car il est
- commode : conversion facile binaire <=> hexadécimal du 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),
- facilement lisible par les opérateurs humains, car compact (il réduit le nombre de signes d'un facteur 4 par rapport au binaire). L'unité d'information couramment utilisée en informatique, à savoir l'octet (8bits), se note ainsi sous forme de 2 chiffres hexadécimaux.
La conversion de binaire en hexadécimal se fait en regroupant les chiffres binaires (les bits) par groupe de quatre également appelé "quartet" (ou nibble). Le mot binaire doit donc avoir une longueur multiple de quatre, au besoin, on le compléte par des zéros à gauche (0 de poids fort non significatifs). A chacune des 16 combinaisons binaires d'un quartet (2 puissance 4 = 16 décimal) correspond un chiffre hexadécimal.
binaire | Hexadécimal | décimal |
0 0 0 0 | 0 | 0 |
0 0 0 1 | 1 | 1 |
0 0 1 0 | 2 | 2 |
0 0 1 1 | 3 | 3 |
0 1 0 0 | 4 | 4 |
0 1 0 1 | 5 | 5 |
0 1 1 0 | 6 | 6 |
0 1 1 1 | 7 | 7 |
1 0 0 0 | 8 | 8 |
1 0 0 1 | 9 | 9 |
1 0 1 0 | a | 10 |
1 0 1 1 | b | 11 |
1 1 0 0 | c | 12 |
1 1 0 1 | d | 13 |
1 1 1 0 | e | 14 |
1 1 1 1 | f | 15 |
Conversion
Ainsi le nombre binaire suivant 0010101011010101 composé de 4
quartets (nibbles) 0010 1010 1101 0101 se note 2ab5 en
hexadécimal ( 0010 => 2, 1010 => A, 1101 => B,
0101 => 5).
Inversement le nombre hexadécimal 7c8f20 se traduit par la chaîne
binaire 0111 1100 1000 1111 0010 0000
(7 => 0111, c => 1100, 8 => 1000,
f => 1111, 2 => 0010, 0 => 0000) et
correspond au code binaire 011111001000111100100000.
Notation
Des notations sont utilisées, notamment dans les langages
informatiques, pour différencier sans ambiguité 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)
(nota : pour l'anecdote : Le chanteur et humoriste Boby Lapointe a inventé en 1968 un système de représentation hexadécimale, appelé système bibi-binaire à la fois drôle et cohérent, basé sur des symboles graphiques convenus en lieu et place des chiffres arabes et lettres (de 'a' à 'f').
quelques pointeurs pour aller plus loin
- Le système hexadécimal https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal
- Le système bibi-binaire https://fr.wikipedia.org/wiki/Syst%C3%A8me_Bibi-binaire
- Nibble https://fr.wikipedia.org/wiki/Nibble
- Une autre forme, moins courante, de représentation des codes binaires : le système octal http://fr.wikipedia.org/wiki/Syst%C3%A8me_octal
- ...