Section courante

A propos

Section administrative du site

Définition

Le nombre hexadécimal est utilise pour une base numérique de 16 plutôt que 10 comme les décimales. Ainsi, il utilise les nombres de 0 à 9 et ensuite les lettres de A à F. La raison pour lesquels les nombres hexadécimales sont aussi répondu en informatique tient du fait que cette base est plus pratique que le décimal lorsqu'on à besoin d'être plus près du binaire, les calculs arrivent juste, il n'y a pas de perte.

Table de conversion

Voici une table de conversion entre les bases hexadécimal et les autres :

Hexadécimal Décimal Octal Binaire
0 0 000 00000000
1 1 001 00000001
2 2 002 00000010
3 3 003 00000011
4 4 004 00000100
5 5 005 00000101
6 6 006 00000110
7 7 007 00000111
8 8 010 00001000
9 9 011 00001001
A 10 012 00001010
B 11 013 00001011
C 12 014 00001100
D 13 015 00001101
E 14 016 00001110
F 15 017 00001111
Décimal Hexadécimal Octal Binaire
16 10 020 00010000
17 11 021 00010001
18 12 022 00010010
19 13 023 00010011
20 14 024 00010100
21 15 025 00010101
22 16 026 00010110
23 17 027 00010111
24 18 030 00011000
25 19 031 00011001
26 1A 032 00011010
27 1B 033 00011011
28 1C 034 00011100
29 1D 035 00011101
30 1E 036 00011110
31 1F 037 00011111
Hexadécimal Décimal Octal Binaire
20 32 040 00100000
21 33 041 00100001
22 34 042 00100010
23 35 043 00100011
24 36 044 00100100
25 37 045 00100101
26 38 046 00100110
27 39 047 00100111
28 40 050 00101000
29 41 051 00101001
2A 42 052 00101010
2B 43 053 00101011
2C 44 054 00101100
2D 45 055 00101101
2E 46 056 00101110
2F 47 057 00101111
Hexadécimal Décimal Octal Binaire
30 48 060 00110000
31 49 061 00110001
32 50 062 00110010
33 51 063 00110011
34 52 064 00110100
35 53 065 00110101
36 54 066 00110110
37 55 067 00110111
38 56 070 00111000
39 57 071 00111001
3A 58 072 00111010
3B 59 073 00111011
3C 60 074 00111100
3D 61 075 00111101
3E 62 076 00111110
3F 63 077 00111111
Hexadécimal Décimal Octal Binaire
40 64 100 01000000
41 65 101 01000001
42 66 102 01000010
43 67 103 01000011
44 68 104 01000100
45 69 105 01000101
46 70 106 01000110
47 71 107 01000111
48 72 110 01001000
49 73 111 01001001
4A 74 112 01001010
4B 75 113 01001011
4C 76 114 01001100
4D 77 115 01001101
4E 78 116 01001110
4F 79 117 01001111
Hexadécimal Décimal Octal Binaire
80 50 120 01010000
81 51 121 01010001
82 52 122 01010010
83 53 123 01010011
84 54 124 01010100
85 55 125 01010101
86 56 126 01010110
87 57 127 01010111
88 58 130 01011000
89 59 131 01011001
90 5A 132 01011010
91 5B 133 01011011
92 5C 134 01011100
93 5D 135 01011101
94 5E 136 01011110
95 5F 137 01011111
Hexadécimal Décimal Octal Binaire
60 96 140 01100000
61 97 141 01100001
62 98 142 01100010
63 99 143 01100011
64 100 144 01100100
65 101 145 01100101
66 102 146 01100110
67 103 147 01100111
68 104 150 01101000
69 105 151 01101001
6A 106 152 01101010
6B 107 153 01101011
6C 108 154 01101100
6D 109 155 01101101
6E 110 156 01101110
6F 111 157 01101111
Hexadécimal Décimal Octal Binaire
70 112 160 01110000
71 113 161 01110001
72 114 162 01110010
73 115 163 01110011
74 116 164 01110100
75 117 165 01110101
76 118 166 01110110
77 119 167 01110111
78 120 170 01111000
79 121 171 01111001
7A 122 172 01111010
7B 123 173 01111011
7C 124 174 01111100
7D 125 175 01111101
7E 126 176 01111110
7F 127 177 01111111

Exemples

Voici un programme très performant permettant d'effectuer une conversion d'une valeur d'un octet à hexadécimal en C :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char ReturnString[255];
  5.  
  6. char * ByteHex2Str(unsigned char value) {
  7.     char matrix[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  8.     ReturnString[0] = matrix[(value >> 4) & 0x0F];
  9.     ReturnString[1] = matrix[value & 0xF];
  10.     ReturnString[2] = 0;
  11.     return ReturnString;
  12. }
  13.  
  14. int main()
  15. {
  16.     printf("00h = %s\n",ByteHex2Str(0x00));
  17.     printf("01h = %s\n",ByteHex2Str(0x01));
  18.     printf("02h = %s\n",ByteHex2Str(0x02));
  19.     printf("0Ah = %s\n",ByteHex2Str(0x0A));
  20.     printf("0Fh = %s\n",ByteHex2Str(0x0F));
  21.     printf("10h = %s\n",ByteHex2Str(0x10));
  22.     printf("20h = %s\n",ByteHex2Str(0x20));
  23.     printf("56h = %s\n",ByteHex2Str(0x56));
  24.     printf("73h = %s\n",ByteHex2Str(0x73));
  25.     printf("EFh = %s\n",ByteHex2Str(0xEF));
  26.     printf("FFh = %s\n",ByteHex2Str(0xFF));
  27.     return 0;
  28. }

on obtiendra le résultat suivant :

00h = 00
01h = 01
02h = 02
0Ah = 0A
0Fh = 0F
10h = 10
20h = 20
56h = 56
73h = 73
EFh = EF
FFh = FF

Voici un programme très performant permettant d'effectuer une conversion d'une valeur d'un octet à hexadécimal en Perl :

  1. #!/usr/bin/perl
  2.  
  3. sub ByteHex2Str() {
  4.  my ($value) = @_;
  5.  my @matrix = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
  6.  return $matrix[($value >> 4) & 0x0F].$matrix[$value & 0x0F];
  7. }
  8.  
  9. print "00h = " . &ByteHex2Str(0x00). "\n";
  10. print "01h = " . &ByteHex2Str(0x01). "\n";
  11. print "02h = " . &ByteHex2Str(0x02). "\n";
  12. print "0Ah = " . &ByteHex2Str(0x0A). "\n";
  13. print "0Fh = " . &ByteHex2Str(0x0F). "\n";
  14. print "10h = " . &ByteHex2Str(0x10). "\n";
  15. print "20h = " . &ByteHex2Str(0x20). "\n";
  16. print "56h = " . &ByteHex2Str(0x56). "\n";
  17. print "73h = " . &ByteHex2Str(0x73). "\n";
  18. print "EFh = " . &ByteHex2Str(0xEF). "\n";
  19. print "FFh = " . &ByteHex2Str(0xFF). "\n";

on obtiendra le résultat suivant :

00h = 00
01h = 01
02h = 02
0Ah = 0A
0Fh = 0F
10h = 10
20h = 20
56h = 56
73h = 73
EFh = EF
FFh = FF

Voici un programme très performant permettant d'effectuer une conversion d'une valeur d'un octet à hexadécimal en Turbo Pascal :

  1. Function ByteHex2Str(value:Byte):String;
  2. Const
  3.  matrix:Array[0..15]of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
  4. Begin
  5.  ByteHex2Str:=matrix[(value shr 4) and $0F]+matrix[value and $F];
  6. End;
  7.  
  8. BEGIN
  9.  WriteLn('00h = ',ByteHex2Str($00));
  10.  WriteLn('01h = ',ByteHex2Str($01));
  11.  WriteLn('02h = ',ByteHex2Str($02));
  12.  WriteLn('0Ah = ',ByteHex2Str($0A));
  13.  WriteLn('0Fh = ',ByteHex2Str($0F));
  14.  WriteLn('10h = ',ByteHex2Str($10));
  15.  WriteLn('20h = ',ByteHex2Str($20));
  16.  WriteLn('56h = ',ByteHex2Str($56));
  17.  WriteLn('73h = ',ByteHex2Str($73));
  18.  WriteLn('EFh = ',ByteHex2Str($EF));
  19.  WriteLn('FFh = ',ByteHex2Str($FF));
  20. END.

on obtiendra le résultat suivant :

00h = 00
01h = 01
02h = 02
0Ah = 0A
0Fh = 0F
10h = 10
20h = 20
56h = 56
73h = 73
EFh = EF
FFh = FF

Voici un programme très performant permettant d'effectuer une conversion d'une valeur d'un octet à hexadécimal en Delphi :

  1. Program Hexadecimal;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. Uses SysUtils;
  6.  
  7. Function ByteHex2Str(value:Byte):String;
  8. Const
  9.  matrix:Array[0..15]of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
  10. Begin
  11.  ByteHex2Str:=matrix[(value shr 4) and $0F]+matrix[value and $F];
  12. End;
  13.      
  14. BEGIN
  15.  WriteLn('00h = ',ByteHex2Str($00));
  16.  WriteLn('01h = ',ByteHex2Str($01));
  17.  WriteLn('02h = ',ByteHex2Str($02));
  18.  WriteLn('0Ah = ',ByteHex2Str($0A));
  19.  WriteLn('0Fh = ',ByteHex2Str($0F));
  20.  WriteLn('10h = ',ByteHex2Str($10));
  21.  WriteLn('20h = ',ByteHex2Str($20));
  22.  WriteLn('56h = ',ByteHex2Str($56));
  23.  WriteLn('73h = ',ByteHex2Str($73));
  24.  WriteLn('EFh = ',ByteHex2Str($EF));
  25.  WriteLn('FFh = ',ByteHex2Str($FF));
  26. END.

on obtiendra le résultat suivant :

00h = 00
01h = 01
02h = 02
0Ah = 0A
0Fh = 0F
10h = 10
20h = 20
56h = 56
73h = 73
EFh = EF
FFh = FF

Voici un programme très performant permettant d'effectuer une conversion d'une valeur d'un octet à hexadécimal en PHP :

  1. <?php
  2. function ByteHex2Str($value) {
  3.  $matrix = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
  4.  return $matrix[($value >> 4) & 0x0F].$matrix[$value & 0x0F];
  5. }
  6.  
  7. echo "00h = " . ByteHex2Str(0x00). "<br />";
  8. echo "01h = " . ByteHex2Str(0x01). "<br />";
  9. echo "02h = " . ByteHex2Str(0x02). "<br />";
  10. echo "0Ah = " . ByteHex2Str(0x0A). "<br />";
  11. echo "0Fh = " . ByteHex2Str(0x0F). "<br />";
  12. echo "10h = " . ByteHex2Str(0x10). "<br />";
  13. echo "20h = " . ByteHex2Str(0x20). "<br />";
  14. echo "56h = " . ByteHex2Str(0x56). "<br />";
  15. echo "73h = " . ByteHex2Str(0x73). "<br />";
  16. echo "EFh = " . ByteHex2Str(0xEF). "<br />";
  17. echo "FFh = " . ByteHex2Str(0xFF). "<br />";
  18. ?>

on obtiendra le résultat suivant :

00h = 00
01h = 01
02h = 02
0Ah = 0A
0Fh = 0F
10h = 10
20h = 20
56h = 56
73h = 73
EFh = EF
FFh = FF

Voir également

Langage de programmation - ASP 3.0 - Référence des fonctions - HEX
Langage de programmation - Basic pour Coco 3 - Référence des fonctions - HEX
Langage de programmation - Basic Pro du MonsterBook - Référence des fonctions - HEX$
Langage de programmation - Delphi/Kylix/Lazarus - Référence des fonctions - INTTOHEX
Langage de programmation - GWBASIC/BASICA - Référence des fonctions - HEX$
Langage de programmation - LotusScript - Référence des fonctions - HEX
Langage de programmation - MySQL - Référence des fonctions - HEX
Langage de programmation - Oracle - Référence des fonctions - HEXTORAW
Langage de programmation - Perl - Référence des fonctions - HEX
Langage de programmation - PHP - Référence des fonctions - BIN2HEX
Langage de programmation - PHP - Référence des fonctions - DECHEX
Langage de programmation - PHP - Référence des fonctions - HEXDEC
Langage de programmation - PostgreSQL - Référence des fonctions - TO_HEX
Langage de programmation - PowerBasic - Référence des fonctions - HEX$
Langage de programmation - Python - Référence des fonctions - HEX
Langage de programmation - Sybase - Référence des fonctions - BIGINTTOHEX
Langage de programmation - Sybase - Référence des fonctions - HEXTOBIGINT
Langage de programmation - Sybase - Référence des fonctions - HEXTOINT
Langage de programmation - Sybase - Référence des fonctions - INTTOHEX
Langage de programmation - Turbo Basic - Référence des fonctions - HEX$
Langage de programmation - UBASIC - Référence des fonctions - HEX
Langage de programmation - Yabasic (Yet Another Basic) - Référence des fonctions - HEX$

Dernière mise à jour : Mardi, le 12 août 2014