Bonjour à tous,
J'ai besoin de convertir des données binaires en hexadécimal. Pour cela j'ai fais ça :
Donc je convertis en décimal grâce à strtol puis j'utilise sprintf pour convertir en hex.
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; }
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+
Partager