Conversion
Fermé
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
-
11 mars 2015 à 10:37
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 25 mars 2015 à 15:52
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 25 mars 2015 à 15:52
A voir également:
- Conversion
- Monnaie conversion - Télécharger - Banque & Budget
- Conversion ascii - Guide
- Conversion majuscule minuscule - Guide
- Conversion mb en go ✓ - Forum Mail
- Tableau conversion heure en centième ✓ - Forum Excel
2 réponses
salut, au pire stoque chaques elements puis affiche les à l'envers
Pour faire directement un algo dans l'autre sens si tu reste en base 2^n tu peux utiliser des masques.
Pour faire directement un algo dans l'autre sens si tu reste en base 2^n tu peux utiliser des masques.
Niveka
Messages postés
28
Date d'inscription
lundi 16 février 2015
Statut
Membre
Dernière intervention
9 juin 2016
4
11 mars 2015 à 15:40
11 mars 2015 à 15:40
salut! moi j'ai l'habitude d'utiliser une boucle FOR, le principe est simple après avoir calculé puis enregistré dans un tableau des restes possibles de ce nombre par 2, vous utilisez une décrémentation pour afficher le résultat. voici un exemple:
printf(" Ici vous changerez un nombre en base 2\n");
printf(" Entrer la valeur de a :\n");
scanf("%d", &a);
for(i=0; a!=0; i++)
{
tableau[i]=a%2;
a=(a-tableau[i])/2;
}
printf("%d en base 2 = \t",a);
for(j=i-1; j>=0 ; j--)
printf("%d",tableau[j]);
return 0;
printf(" Ici vous changerez un nombre en base 2\n");
printf(" Entrer la valeur de a :\n");
scanf("%d", &a);
for(i=0; a!=0; i++)
{
tableau[i]=a%2;
a=(a-tableau[i])/2;
}
printf("%d en base 2 = \t",a);
for(j=i-1; j>=0 ; j--)
printf("%d",tableau[j]);
return 0;
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
25 mars 2015 à 15:52
25 mars 2015 à 15:52
j'ai refais mais j'ai un souci au niveau de la base 16
<code c>#include <stdio.h>
#include <stdlib.h>
int nb,r,q,i,b,j,t[8];
int main()
{ system("color FC");
printf("Entrer le nombre positif\n");
do{
scanf("%i",&nb);
}while(nb<=0);
do{
printf("Entrer la base 2, 8 ou 16\n");
scanf("%i",&b);
}while(b!=2 && b!=8 && b!=16);
switch(b){
//conversion en base 2
case 2:
for(i=0; nb!=0; i++)
{
t[i]=nb%2;
nb=(nb-t[i])/2;
} system("color FC");
printf(" le resultat base 2 = \t");
for(j=i-1; j>=0 ; j--)
{
printf("%d",t[j]);
} break;
//conversion en base 8
case 8:
for(i=0; nb!=0; i++)
{
t[i]=nb%8;
nb=(nb-t[i])/8;
}
printf(" le resultat base 8 = \t");
for(j=i-1; j>=0 ; j--)
{
printf("%d",t[j]);
} break;
//conversion en base 16
case 16:
for(i=0; nb!=0; i++)
{
t[i]=nb%16;
nb=(nb-t[i])/16;
switch(t[i]){
case 10:printf("A");break;
case 11:printf("B");break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
default:printf("%i",t[j]);
for(j=i-1; j>=0 ; j--)
{
printf("%d",t[j]);
} break;
}
}
}
return 0;
}
</code c>
<code c>#include <stdio.h>
#include <stdlib.h>
int nb,r,q,i,b,j,t[8];
int main()
{ system("color FC");
printf("Entrer le nombre positif\n");
do{
scanf("%i",&nb);
}while(nb<=0);
do{
printf("Entrer la base 2, 8 ou 16\n");
scanf("%i",&b);
}while(b!=2 && b!=8 && b!=16);
switch(b){
//conversion en base 2
case 2:
for(i=0; nb!=0; i++)
{
t[i]=nb%2;
nb=(nb-t[i])/2;
} system("color FC");
printf(" le resultat base 2 = \t");
for(j=i-1; j>=0 ; j--)
{
printf("%d",t[j]);
} break;
//conversion en base 8
case 8:
for(i=0; nb!=0; i++)
{
t[i]=nb%8;
nb=(nb-t[i])/8;
}
printf(" le resultat base 8 = \t");
for(j=i-1; j>=0 ; j--)
{
printf("%d",t[j]);
} break;
//conversion en base 16
case 16:
for(i=0; nb!=0; i++)
{
t[i]=nb%16;
nb=(nb-t[i])/16;
switch(t[i]){
case 10:printf("A");break;
case 11:printf("B");break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
default:printf("%i",t[j]);
for(j=i-1; j>=0 ; j--)
{
printf("%d",t[j]);
} break;
}
}
}
return 0;
}
</code c>