Bonjour à tous,

J'ai besoin de convertir des données binaires en hexadécimal. Pour cela j'ai fais ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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+