Fonction transformer décimal en binaire [C]
Fermé
seo610
Messages postés
596
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
30 juin 2015
-
25 févr. 2011 à 16:33
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 févr. 2011 à 10:17
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 févr. 2011 à 10:17
A voir également:
- Fonction transformer décimal en binaire [C]
- Fonction si et - Guide
- Codage binaire - Guide
- Transformer majuscule en minuscule word - Guide
- Transformer image en icone - Guide
- Fonction moyenne excel - Guide
1 réponse
seo610
Messages postés
596
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
30 juin 2015
102
26 févr. 2011 à 04:27
26 févr. 2011 à 04:27
bon, trouvé tout seul :
#include <stdio.h>
int main()
{
int i,a,b[8]={0,0,0,0,0,0,0,0};
puts("Entrez un nombre [0,256[ : ");
scanf("%d",&a);
getchar();
i=a;
b[0]=a/128;
if(b[0]==1){a=a-128;}
b[1]=a/64;
if(b[1]==1){a=a-64;}
b[2]=a/32;
if(b[2]==1){a=a-32;}
b[3]=a/16;
if(b[3]==1){a=a-16;}
b[4]=a/8;
if(b[4]==1){a=a-8;}
b[5]=a/4;
if(b[5]==1){a=a-4;}
b[6]=a/2;
if(b[6]==1){a=a-2;}
b[7]=a/1;
printf("\n\na = %d en decimale et %d%d%d%d%d%d%d%d en binaire.\n",i,b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7]);
getch();
}
#include <stdio.h>
int main()
{
int i,a,b[8]={0,0,0,0,0,0,0,0};
puts("Entrez un nombre [0,256[ : ");
scanf("%d",&a);
getchar();
i=a;
b[0]=a/128;
if(b[0]==1){a=a-128;}
b[1]=a/64;
if(b[1]==1){a=a-64;}
b[2]=a/32;
if(b[2]==1){a=a-32;}
b[3]=a/16;
if(b[3]==1){a=a-16;}
b[4]=a/8;
if(b[4]==1){a=a-8;}
b[5]=a/4;
if(b[5]==1){a=a-4;}
b[6]=a/2;
if(b[6]==1){a=a-2;}
b[7]=a/1;
printf("\n\na = %d en decimale et %d%d%d%d%d%d%d%d en binaire.\n",i,b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7]);
getch();
}
26 févr. 2011 à 04:27
26 févr. 2011 à 10:17
Pour la conversion en binaire, un algorithme simple et efficace est la méthode de la division successive. Le principe consiste à diviser le nombre en base 10 par 2 et à récupérer le reste (modulo). Et on continue, on divise le nouveau diviseur par 2 et on récupère reste. Les restes sont à mettre dans ta variable b.
Ainsi, tu auras ton nombre binaire.
Et plutôt que d'utiliser int b[8], utilise plutôt char b[9]. Non seulement ça prend moins de place, mais en plus tu pourras afficher le nombre simplement par : printf("s",b);
Cdlt,