void DecinalToBinaire( int entier_a_convertir , int base_de_convertion, int* tab_binaire)
{
int i ;
int r;
for (i = 15 ; i >= 0 ; i--)
{
tab_binaire[i] = entier_a_convertir % 2;
//printf("Pour %d on a : \n", entier_a_convertir);
//
//printf("tab_binaire[%d] = %d \n \n", i,tab_binaire[i]);
if (tab_binaire[i] == 0)
{
r = entier_a_convertir / 2;
entier_a_convertir = r;
}
if (tab_binaire[i] == 1)
{
r = floor(entier_a_convertir / 2) ;
entier_a_convertir = r;
}
}
}
int BinToDec(int *tab_binaire)
{
int j ;
int somme = 0;
int k =0;
for (j = 15 ; j >= 0 ; j--)
{
somme = somme + tab_binaire[j] * pow(2,k);
printf("tab_binaire[%d] = %d\n", j , tab_binaire[j]);
printf("somme = %d \n", somme);
k++;
}
return somme;
}
void exo_convertin_base()
{
printf("\nEntrer un nombre entier :");
int reel ;
int ok = 0;
scanf("%d", &reel);
// DEC -> BIN
printf("\nEntier -> Bin\n");
int tab_binaire[15];
int i ;
DecinalToBinaire( reel , 2, &tab_binaire);
// Affichage
for (i = 0 ; i <= 15 ; i++)
printf(" %d", tab_binaire[i]);
//BIN -> DEC
printf("\nBin -> Entier\n");
//int tab_binaire[] = {0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0};
printf("ce qui donne : %d ", BinToDec(&tab_binaire) );
}