Binaire

souzen Messages postés 41 Date d'inscription   Statut Membre -  
souzen Messages postés 41 Date d'inscription   Statut Membre -
Bonjour,
j'ai 2 programmes en C,le premier:
Pour afficher sur 8 bits la représentation binaire d'un nombre entier positif par la division successive par 2.
le deuxieme:
Ex 1 par soustraction successive de puissance de 2 ca veut par la pondération.
Exp:
197=128+64+4+1
Donc 197 est (11000101)
svp aidez moi le plus vite possible svp
Configuration: Windows Vista
Internet Explorer 7.0

6 réponses

  1. ronindom Messages postés 30 Date d'inscription   Statut Membre 1
     
    slt,
    pour moi cé juste
    0
  2. souzen Messages postés 41 Date d'inscription   Statut Membre 26
     
    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
    0
  3. ronindom Messages postés 30 Date d'inscription   Statut Membre 1
     
    moi non plus desolé
    peut etre sur un site pour le langage C
    0
  4. chuka Messages postés 980 Statut Membre 379
     
    #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....
    0
    1. souzen Messages postés 41 Date d'inscription   Statut Membre 26
       
      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
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chuka Messages postés 980 Statut Membre 379
     
    #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....
    0
    1. souzen Messages postés 41 Date d'inscription   Statut Membre 26
       
      merci bcp, et svp encore une fois aidez moi pr la 2eme methode
      0
  7. chuka Messages postés 980 Statut Membre 379
     
    #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....
    0
    1. souzen Messages postés 41 Date d'inscription   Statut Membre 26
       
      merci bcp pr votre mercibcp bcp bcp
      0