Vu que tu parles "binaire", essaye de faire des opérations binaires :
en utilisant les masques et les opérateurs (par ex, OU : |)
Exemple : pour connaître la valeur du 5e bit :
int val = nb | 0x10; // si val = 0 c'est que le 5e bit est à 0
Dans ton exemple 'binaire' doit être une chaîne de caractères :
Ca serait plutot :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| char binaire[33] = {0};
char temp [32] = {0};
while(nb>=1)
{
if (nb%2==0)
{
sprintf(temp,"0%s", binaire); // concatène le résultat avec l'existant
}
else
{
sprintf(temp,"1%s", binaire);
}
strcpy(binaire, temp);
nb=nb/2;
}
printf("%s", binaire); |
c'est "while(nb>=1)" sinon tu oublies le dernier bit.
Partager