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
| #include <stdio.h>
int convert (int n, int result, int i){
int e = n/2; // quotient
int count = 0; // compteur
int resteadd = n%2;
while (count < i){ // pour pouvoir ajouter le 1 au nombre, on regarde à quel rang l'ajouter avec 'i'
resteadd = resteadd*10;
//printf("\nRESTEADD : %d\n",resteadd); DEBUG
count++;
}
result = result + resteadd; // on ajoute le chiffre au reste
i++; // on idente les tours
//printf("n/2 = %d\n",e); DEBUG
//printf ("reste = %d\n", n%2); DEBUG
if (e != 0)
convert(e,result,i); // on recommence si le quotient n'est toujours pas égal à 0
/*if (e == 0)
return result; // si le quotient = 0, on retourne la valeur*/
if (e == 0)
printf("\nRESULTAT : %d\n", result);
}
int main (int argc, char** argv){
int result = 0;
int tab2[10];
int verif;
int nombre;
printf("Quel nombre voulez-vous convertir en binaire ?");
scanf("%d", &nombre);
convert(nombre, result, 0);
//printf("\n RESULTAT : %d \n",verif);
return 0;
} |
Partager