probleme conversion decimal to binaire
bonsoir a tous!
voila, j'ai code une fonction me permettant de convertir un nombre decimal en un nombre binaire; evidemmenty ca ne fonctionne du moins a moitie.
avant de retourner la valeur convertit ca fonctionne mais lorsque je fait un return pour l'affichez dans le main, c'as m'affiche du bordel....
voici le 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
char *convert_dec_to_bin(int nb)
{
int i;
char str[9];
int j;
for (i = 128, j = 0; j <= 7; i/= 2, j++)
{
if (nb - i >= 0)
{
str[j] = '1';
nb = nb - i;
}
else
str[j] = '0';
}
str[j] = '\0';
printf("%s\n", str);
return(str);
}
char *convert_bin_to_dec(char *str)
{
int i;
int j;
int nb;
char c;
nb = 0;
for (j = strlen(str) - 1, i = 1; i != 128; i *= 2, j--)
{
if (str[j] == '1')
nb = nb + i;
}
c = nb;
printf("%c", c);
return (c);
}
int main()
{
char *binaire;
binaire = convert_dec_to_bin(97);
printf("%s", binaire);
return(0);
} |
resultat a l'ecran :
01100001 -------------------> ok
Ðè¿¿Hè¿¿Ù¦º½ø~½½Tè---------------->apres le return