|
|
(6 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
− | == 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.
| |
− | <center>
| |
− | {| border="0" class="wikitable alternance centre" width="40%"
| |
− | |- align="right"
| |
− | | '''binaire''' || '''Hexadécimal''' || '''décimal'''
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 0 0 0 0 || '''0''' || 0
| |
− |
| |
− | |- align="right"
| |
− | | 0 0 0 1 || '''1''' || 1
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 0 0 1 0 || '''2''' || 2
| |
− |
| |
− | |- align="right"
| |
− | | 0 0 1 1 || '''3''' || 3
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 0 1 0 0 || '''4''' || 4
| |
− |
| |
− | |- align="right"
| |
− | | 0 1 0 1 || '''5''' || 5
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 0 1 1 0 || '''6''' || 6
| |
− |
| |
− | |- align="right"
| |
− | | 0 1 1 1 || '''7''' || 7
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 1 0 0 0 || '''8''' || 8
| |
− |
| |
− | |- align="right"
| |
− | | 1 0 0 1 || '''9''' || 9
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 1 0 1 0 || '''a''' || 10
| |
− |
| |
− | |- align="right"
| |
− | | 1 0 1 1 || '''b''' || 11
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 1 1 0 0 || '''c''' || 12
| |
− |
| |
− | |- align="right"
| |
− | | 1 1 0 1 || '''d''' || 13
| |
− |
| |
− | |- align="right" style="background:silver"
| |
− | | 1 1 1 0 || '''e''' || 14
| |
− |
| |
− | |- align="right"
| |
− | | 1 1 1 1 || '''f''' || 15
| |
− |
| |
− | |}
| |
− |
| |
− | </center>
| |
− |
| |
− | '''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 electronique), 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 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 https://fr.wikipedia.org/wiki/Syst%C3%A8me_Bibi-binaire]
| |
− | * Nibble [https://fr.wikipedia.org/wiki/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 http://fr.wikipedia.org/wiki/Syst%C3%A8me_octal]
| |
− | * ...
| |