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 :
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Exemples
Voici un programme très performant permettant d'effectuer une conversion d'une valeur d'un octet à hexadécimal en C :
- #include <stdio.h>
- #include <stdlib.h>
-
- char ReturnString[255];
-
- char * ByteHex2Str(unsigned char value) {
- char matrix[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
- ReturnString[0] = matrix[(value >> 4) & 0x0F];
- ReturnString[1] = matrix[value & 0xF];
- ReturnString[2] = 0;
- return ReturnString;
- }
-
- int main()
- {
- printf("00h = %s\n",ByteHex2Str(0x00));
- printf("01h = %s\n",ByteHex2Str(0x01));
- printf("02h = %s\n",ByteHex2Str(0x02));
- printf("0Ah = %s\n",ByteHex2Str(0x0A));
- printf("0Fh = %s\n",ByteHex2Str(0x0F));
- printf("10h = %s\n",ByteHex2Str(0x10));
- printf("20h = %s\n",ByteHex2Str(0x20));
- printf("56h = %s\n",ByteHex2Str(0x56));
- printf("73h = %s\n",ByteHex2Str(0x73));
- printf("EFh = %s\n",ByteHex2Str(0xEF));
- printf("FFh = %s\n",ByteHex2Str(0xFF));
- return 0;
- }
on obtiendra le résultat suivant :
00h = 0001h = 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 :
- #!/usr/bin/perl
-
- sub ByteHex2Str() {
- my ($value) = @_;
- my @matrix = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
- return $matrix[($value >> 4) & 0x0F].$matrix[$value & 0x0F];
- }
-
- print "00h = " . &ByteHex2Str(0x00). "\n";
- print "01h = " . &ByteHex2Str(0x01). "\n";
- print "02h = " . &ByteHex2Str(0x02). "\n";
- print "0Ah = " . &ByteHex2Str(0x0A). "\n";
- print "0Fh = " . &ByteHex2Str(0x0F). "\n";
- print "10h = " . &ByteHex2Str(0x10). "\n";
- print "20h = " . &ByteHex2Str(0x20). "\n";
- print "56h = " . &ByteHex2Str(0x56). "\n";
- print "73h = " . &ByteHex2Str(0x73). "\n";
- print "EFh = " . &ByteHex2Str(0xEF). "\n";
- print "FFh = " . &ByteHex2Str(0xFF). "\n";
on obtiendra le résultat suivant :
00h = 0001h = 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 :
- Function ByteHex2Str(value:Byte):String;
- Const
- matrix:Array[0..15]of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
- Begin
- ByteHex2Str:=matrix[(value shr 4) and $0F]+matrix[value and $F];
- End;
-
- BEGIN
- WriteLn('00h = ',ByteHex2Str($00));
- WriteLn('01h = ',ByteHex2Str($01));
- WriteLn('02h = ',ByteHex2Str($02));
- WriteLn('0Ah = ',ByteHex2Str($0A));
- WriteLn('0Fh = ',ByteHex2Str($0F));
- WriteLn('10h = ',ByteHex2Str($10));
- WriteLn('20h = ',ByteHex2Str($20));
- WriteLn('56h = ',ByteHex2Str($56));
- WriteLn('73h = ',ByteHex2Str($73));
- WriteLn('EFh = ',ByteHex2Str($EF));
- WriteLn('FFh = ',ByteHex2Str($FF));
- END.
on obtiendra le résultat suivant :
00h = 0001h = 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 :
- Program Hexadecimal;
-
- {$APPTYPE CONSOLE}
-
- Uses SysUtils;
-
- Function ByteHex2Str(value:Byte):String;
- Const
- matrix:Array[0..15]of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
- Begin
- ByteHex2Str:=matrix[(value shr 4) and $0F]+matrix[value and $F];
- End;
-
- BEGIN
- WriteLn('00h = ',ByteHex2Str($00));
- WriteLn('01h = ',ByteHex2Str($01));
- WriteLn('02h = ',ByteHex2Str($02));
- WriteLn('0Ah = ',ByteHex2Str($0A));
- WriteLn('0Fh = ',ByteHex2Str($0F));
- WriteLn('10h = ',ByteHex2Str($10));
- WriteLn('20h = ',ByteHex2Str($20));
- WriteLn('56h = ',ByteHex2Str($56));
- WriteLn('73h = ',ByteHex2Str($73));
- WriteLn('EFh = ',ByteHex2Str($EF));
- WriteLn('FFh = ',ByteHex2Str($FF));
- END.
on obtiendra le résultat suivant :
00h = 0001h = 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 :
- <?php
- function ByteHex2Str($value) {
- $matrix = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
- return $matrix[($value >> 4) & 0x0F].$matrix[$value & 0x0F];
- }
-
- echo "00h = " . ByteHex2Str(0x00). "<br />";
- echo "01h = " . ByteHex2Str(0x01). "<br />";
- echo "02h = " . ByteHex2Str(0x02). "<br />";
- echo "0Ah = " . ByteHex2Str(0x0A). "<br />";
- echo "0Fh = " . ByteHex2Str(0x0F). "<br />";
- echo "10h = " . ByteHex2Str(0x10). "<br />";
- echo "20h = " . ByteHex2Str(0x20). "<br />";
- echo "56h = " . ByteHex2Str(0x56). "<br />";
- echo "73h = " . ByteHex2Str(0x73). "<br />";
- echo "EFh = " . ByteHex2Str(0xEF). "<br />";
- echo "FFh = " . ByteHex2Str(0xFF). "<br />";
- ?>
on obtiendra le résultat suivant :
00h = 0001h = 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$