Problème avec la conversion en hexadécimal
Bonjour à tous,
J'ai besoin de convertir des données binaires en hexadécimal. Pour cela j'ai fais ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #include <stdlib.h>
#include <stdio.h>
double base_convert(const char *in, int rin)
{
double n;
char *dummy;
n = strtol(in, &dummy, rin);
return n;
}
int main()
{
char hexrep[40];
sprintf(hexrep,"%08x",base_convert("01111100111101111100000010001010", 2));
printf("Resultat de la conversion : %08x\n",hexrep);
return 0;
} |
Donc je convertis en décimal grâce à strtol puis j'utilise sprintf pour convertir en hex.
Mais à l'affichage je n'ai pas le bon résultat. J'obtiens 0022ff28 au lieu de 7CF7C08A.
Pouvez-vous s'il vous plait à savoir pourquoi je n'obtiens pas le bon résultat ?
Merci,
A+