Comment convertir un entier en une chaîne hexadécimale en C ?
Exemple : L'entier 50
serait converti en la chaîne hexadécimale "32"
ou "0x32"
.
Comment convertir un entier en une chaîne hexadécimale en C ?
Exemple : L'entier 50
serait converti en la chaîne hexadécimale "32"
ou "0x32"
.
Intéressant que ces réponses utilisent printf
comme s'il s'agissait d'une donnée.
printf
convertit l'entier en une valeur de chaîne hexadécimale.
//*************************************************************
// void prntnum(unsigned long n, int base, char sign, char *outbuf)
// unsigned long num = number to be printed
// int base = number base for conversion; decimal=10,hex=16
// char sign = signed or unsigned output
// char *outbuf = buffer to hold the output number
//*************************************************************
void prntnum(unsigned long n, int base, char sign, char *outbuf)
{
int i = 12;
int j = 0;
do{
outbuf[i] = "0123456789ABCDEF"[num % base];
i--;
n = num/base;
}while( num > 0);
if(sign != ' '){
outbuf[0] = sign;
++j;
}
while( ++i < 13){
outbuf[j++] = outbuf[i];
}
outbuf[j] = 0;
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.