Binaire
Fermé
souzen
Messages postés
41
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
-
12 oct. 2008 à 14:16
souzen Messages postés 41 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 5 janvier 2009 - 12 oct. 2008 à 17:53
souzen Messages postés 41 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 5 janvier 2009 - 12 oct. 2008 à 17:53
6 réponses
ronindom
Messages postés
30
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
30 septembre 2009
1
12 oct. 2008 à 14:22
12 oct. 2008 à 14:22
slt,
pour moi cé juste
pour moi cé juste
souzen
Messages postés
41
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
26
12 oct. 2008 à 16:17
12 oct. 2008 à 16:17
Bonjour,
j'ai 2 programmes en langage C,le premier:
Pour afficher sur 8 bits la représentation binaire d'un nombre entier positif par la division successive par 2.
Exp:
75/2=37; il reste 1
37/2=18; il reste 1
18/2= 9; il reste 0
9/2= 4 ; il reste 1
4/2= 2; il reste 0
2/2= 2; il reste 1
1/2= 0; il reste 1
on prend le reste en inverse ca donne (1101011)
pr completer 8 bits on ajoute zero a gauche et ca devient (01101011) mais si on a un grand nombre ca va prendre du temps c'est pour ca on a choisi la 2eme methode par la soustraction successive de puissance de 2 ca veut dire on suivant les ponderations de 2
Exp:
197=128+64+4+1
Donc 197 est (11000101)
je veux les solution par 2 methode svp dans le langage C
je sais comment faire mais je sais pas rediger dans le langage c svp repondez moi le plus vite possible
j'ai 2 programmes en langage C,le premier:
Pour afficher sur 8 bits la représentation binaire d'un nombre entier positif par la division successive par 2.
Exp:
75/2=37; il reste 1
37/2=18; il reste 1
18/2= 9; il reste 0
9/2= 4 ; il reste 1
4/2= 2; il reste 0
2/2= 2; il reste 1
1/2= 0; il reste 1
on prend le reste en inverse ca donne (1101011)
pr completer 8 bits on ajoute zero a gauche et ca devient (01101011) mais si on a un grand nombre ca va prendre du temps c'est pour ca on a choisi la 2eme methode par la soustraction successive de puissance de 2 ca veut dire on suivant les ponderations de 2
Exp:
197=128+64+4+1
Donc 197 est (11000101)
je veux les solution par 2 methode svp dans le langage C
je sais comment faire mais je sais pas rediger dans le langage c svp repondez moi le plus vite possible
ronindom
Messages postés
30
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
30 septembre 2009
1
12 oct. 2008 à 16:30
12 oct. 2008 à 16:30
moi non plus desolé
peut etre sur un site pour le langage C
peut etre sur un site pour le langage C
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
12 oct. 2008 à 16:31
12 oct. 2008 à 16:31
#include <stdio.h>
int main (int argc,char **v)
{int nbr=atoi(v[1]);
int tab[7];
int num;
int i=0;
while (nbr!=0)
{num=nbr%2;
tab[i]=num;
printf("%d ",tab[i]);
nbr/=2;
printf("%d\n",nbr);
i++;
}
i--;
while(i>=0)
{printf("%d",tab[i]);
i--;
}
getchar();
return 1;
}
peut-etre cela pourra vous aider....
int main (int argc,char **v)
{int nbr=atoi(v[1]);
int tab[7];
int num;
int i=0;
while (nbr!=0)
{num=nbr%2;
tab[i]=num;
printf("%d ",tab[i]);
nbr/=2;
printf("%d\n",nbr);
i++;
}
i--;
while(i>=0)
{printf("%d",tab[i]);
i--;
}
getchar();
return 1;
}
peut-etre cela pourra vous aider....
souzen
Messages postés
41
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
26
12 oct. 2008 à 16:59
12 oct. 2008 à 16:59
merci pr ton aide
mais j'ia un probleme c ke si on a un grand nombre il faut dire a lutilisateur de faire la 2eme methode donc il faut un test et si le nombre est petit y'aura moins de 8bits il faut ajouter des zeros a gauche et je sais pa coment faire si vs pouvez maider encore une fois
mais j'ia un probleme c ke si on a un grand nombre il faut dire a lutilisateur de faire la 2eme methode donc il faut un test et si le nombre est petit y'aura moins de 8bits il faut ajouter des zeros a gauche et je sais pa coment faire si vs pouvez maider encore une fois
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
12 oct. 2008 à 17:15
12 oct. 2008 à 17:15
#include <stdio.h>
int main (int argc,char **v)
{int nbr=atoi(v[1]);
if (nbr>255) {printf ("Faire deuxieme methode");return(-1);};
int tab[7];
int num;
int i=0;
while (nbr!=0)
{num=nbr%2;
tab[i]=num;
printf("%d ",tab[i]);
nbr/=2;
printf("%d\n",nbr);
i++;
}
while (i<8)
{tab[i]=0;
i++;}
i--;
while(i>=0)
{printf("%d",tab[i]);
i--;
}
getchar();
return 1;
}
rajoute les quelques lignes, ca devrait marcher....
int main (int argc,char **v)
{int nbr=atoi(v[1]);
if (nbr>255) {printf ("Faire deuxieme methode");return(-1);};
int tab[7];
int num;
int i=0;
while (nbr!=0)
{num=nbr%2;
tab[i]=num;
printf("%d ",tab[i]);
nbr/=2;
printf("%d\n",nbr);
i++;
}
while (i<8)
{tab[i]=0;
i++;}
i--;
while(i>=0)
{printf("%d",tab[i]);
i--;
}
getchar();
return 1;
}
rajoute les quelques lignes, ca devrait marcher....
souzen
Messages postés
41
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
26
12 oct. 2008 à 17:19
12 oct. 2008 à 17:19
merci bcp, et svp encore une fois aidez moi pr la 2eme methode
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
12 oct. 2008 à 17:42
12 oct. 2008 à 17:42
#include <stdio.h>
int main (int argc,char **v)
{int nbr=atoi(v[1]);
int tab[7];
int i=0;
if((nbr-128)>=0) {tab[i]=1;nbr-=128;i++;} else {tab[i]=0;i++;};
if((nbr-64)>=0) {tab[i]=1;nbr-=64;i++;} else {tab[i]=0;i++;};
if((nbr-32)>=0) {tab[i]=1;nbr-=32;i++;} else {tab[i]=0;i++;};
if((nbr-16)>=0) {tab[i]=1;nbr-=16;i++;} else {tab[i]=0;i++;};
if((nbr-8)>=0) {tab[i]=1;nbr-=8;i++;} else {tab[i]=0;i++;};
if((nbr-4)>=0) {tab[i]=1;nbr-=4;i++;} else {tab[i]=0;i++;};
if((nbr-2)>=0) {tab[i]=1;nbr=-2;i++;} else {tab[i]=0;i++;};
tab[i]=nbr;
while(i>=0)
{printf("%d",tab[7-i]);
i--;
}
getchar();
return 1;
}
pour la deuxieme methode....
int main (int argc,char **v)
{int nbr=atoi(v[1]);
int tab[7];
int i=0;
if((nbr-128)>=0) {tab[i]=1;nbr-=128;i++;} else {tab[i]=0;i++;};
if((nbr-64)>=0) {tab[i]=1;nbr-=64;i++;} else {tab[i]=0;i++;};
if((nbr-32)>=0) {tab[i]=1;nbr-=32;i++;} else {tab[i]=0;i++;};
if((nbr-16)>=0) {tab[i]=1;nbr-=16;i++;} else {tab[i]=0;i++;};
if((nbr-8)>=0) {tab[i]=1;nbr-=8;i++;} else {tab[i]=0;i++;};
if((nbr-4)>=0) {tab[i]=1;nbr-=4;i++;} else {tab[i]=0;i++;};
if((nbr-2)>=0) {tab[i]=1;nbr=-2;i++;} else {tab[i]=0;i++;};
tab[i]=nbr;
while(i>=0)
{printf("%d",tab[7-i]);
i--;
}
getchar();
return 1;
}
pour la deuxieme methode....
souzen
Messages postés
41
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
26
12 oct. 2008 à 17:53
12 oct. 2008 à 17:53
merci bcp pr votre mercibcp bcp bcp