[Debutant] Conversion Hexa en Binaire
Bonjour,
je suis ultra débutante en C, et je bloque sur un problème de conversion, voila : j'ai plusieurs variables en hexa du style "efcdab89" que je voudrais convertir en binaire (32 bits a stockés dans un int A[32] à l'aide d'une boucle for).
J'ai essayé d'utiliser une fonction qui marche très bien pour transformer un caractère en 8 bits, je l'ai bidouillé un peu mais bien que cela me donne au final 32 bits ce ne sont pas les bons!!
merci de votre aide, voici mon code :
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 28 29 30
| int POW(int base, int power)
{
if (power)
{
int exp = base;
while (--power > 0) exp *= base;
return exp;
}
else return 1;
}
void ATOBLONG(int a,int* dest)
{
int power = 0, rem = a, i;
for (i = 0; i<32;i++)
{
power = POW(2,31-i);
*dest = rem / power; dest++;
rem %= power;
}
}
int H0 = 0xefcdab89;
int A[32];
ATOBLONG(H0, A);
for (j=0; j<32; j++)
{
printf("%i", A[j]);
} |