Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît



  1. #1
    T1tou

    Question Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît


    ------

    Bonjour à vous tous !

    Je me présente,

    Je suis étudiant en 1ère année de médecine, et avec la nouvelle réforme PASS nous avons droit à une mineure. Dans mon cas cette mineure concerne l'informatique. Or nous avons un TP à rendre, pour aujourd'hui. J'ai hésité à poster mon code par peur que je ne sois pas accepté par la communauté. M'enfin trève de bavardage et place à l'essentiel :
    • Tout d'abord voici mon code :

      Code:
      #include <stdio.h>
      #include <stdlib.h>
      
      int main()
      {
          int tab[8];
          int x=0, i, r=1, s=1;
      
          printf("Rentrer au clavier une valeur binaire, positive ou negative sur 8 positions. ");
          printf("\n");
      
      
          for(i=1; i<=8; i++){
              printf("Entrer la val %d : ", i);
              scanf("%d", &tab[i]);
      
              while(tab[i]<0
              || tab[i]>1){
      
              printf("Entrer la val %d : ", i);
              scanf("%d", &tab[i]);
              }
          }
      
          if(tab[0]==1){
              s=-1;
      
              for(i=0; i<8; i++){
      
                  tab[i]=1-tab[i];
              }
      
              for(i=7; i>=0; i--){
      
                  tab[i]=r+tab[i];
                  if(tab[i]>1){
                      tab[i]=0;
                      r=1;
                  }else
                  r=0;
              }
          }
      
          for (i=0; i<8; i++){
              x=2*x+tab[i];
          }
      
          x=x*s;
          printf(" valeur de x : %d\n", x);
      
          return 0;
      }
    • Mon soucis :

      Mon problème est le fait que lorsque j'entre certaines valeurs comme 11000011 au lieu d'obtenir 195, mon résultats est 1121. Et cela pour tout...

      Capture5.PNG


    Pour ce qui est du logiciel utilisé, Code::Blocks

    J'ai beau chercher... Je ne comprends pas d'où vient l'erreur.. excusez-moi si j'emploie mal certains termes ou que l'erreur est simple à comprendre..

    Merci de votre attention, en espérant une réponse des plus rapide.
    Jean-Frédérick
    Cordialement,

    -----
    Images attachées Images attachées  

  2. #2
    umfred

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    un problème d'indice:
    quand tu fais la lecture, tu mets dans tab[1] à tab[8]: for (i =1; i<=8;i++)
    et ensuite, tu regardes tab[0] à tab[7]: for(i=0;i<8,i++)

  3. #3
    champetre

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    Bonjour,

    Sans aller plus loin :
    Code:
    int tab[8];
      ...
        for(i=1; i<=8; i++){
    Le int tab[8]; réserve un tableau de 8 cases dont les indices vont de 0 à 7.

    Je ne connais aucun programmeur qui ne soit pas tombé là-dedans au début.

  4. #4
    Spazi

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    J'ajouterais à ce qui a été dit que vous vous attendez également aux mauvaises valeurs.
    Vous traitez des nombres signés, donc 11000011 donne -61, pas 195

  5. A voir en vidéo sur Futura
  6. #5
    T1tou

    Wink Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    Recoucou,

    J'ai corrigé, ce qui en avait besoin ! Et je vous en remercie !!!

    Nom : Capture5.PNG
Affichages : 2662
Taille : 10,3 Ko

    Tout "fonctionne" comme je le voudrais à peu de choses près.

    En plus j'aurais voulu traité des nombres du type de 195.

    Comme dit par Spazi :
    Vous traitez des nombres signés, donc 11000011 donne -61, pas 195


    Je fais certaines recherches et pour l'instant je suis arrivé sur ces sites :

    https://fr.wikihow.com/compter-en-binaire

    http://www.courstechinfo.be/MathInfo...more%20rows%20

    https://www.youtube.com/watch?v=OMSLBhOiJns

    Je vous remercie de l'attention que vous portez au sujet.

    Mais comme vous l'avez compris, je n'aime pas faire les choses à moitié. J'aurais voulu que lorsque je pose du binaire comme 11000011 j'obtienne 195 et non -61. Sinon ça n'est pas "sympa". Même si le prof ne demande que de s'arrêter à la reconversion de nombre binaire en décimal. Je voudrais aller un peu plus loin.

    Je n'ai pas besoin que vous me donniez la réponse toute cuite, je voudrais le terme employé pour les nombre comme 195

    Jean-Frédérick
    Cordialement

  7. #6
    T1tou

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    Ha mes aïeux ! J'ai oublié de vous mettre le code (on sait jamais, si quelqu'un peu être aidé) ^^'

    Nom : Capture5.PNG
Affichages : 4464
Taille : 16,6 KoNom : Capture5.PNG
Affichages : 4464
Taille : 16,6 Ko

  8. #7
    T1tou

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    Aussi j'ai rajouté une petite variable n pour afficher le classement de la val demandées. + propre, + explicite !

    A moins que ça soit le contraire... :'

  9. #8
    umfred

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    En binaire signé sur 8 bits, on va de 127 à -128
    En binaire non-signé sur 8 bits, on va de 0 à 255
    Tu peux, convertir/afficher la valeur non signée en premier puis convertir/afficher la valeur signée ensuite

  10. #9
    T1tou

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    Je posterai ce que j'obtiens plus tard.. J'ai des partiels à passer !!

    Bonne journée et chance à vous !!

  11. #10
    Jack
    Modérateur

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    J'ai validé les pièces jointes, mais à l'avenir, merci de respecter les consignes du forum info et de publier le code entre balises code, idem d'ailleurs pour les affichages du terminal.

  12. #11
    umfred

    Re : Convertisseur Binaire vers Décimal en langage C, besoin aide s'il vous plaît

    Citation Envoyé par T1tou Voir le message
    Aussi j'ai rajouté une petite variable n pour afficher le classement de la val demandées. + propre, + explicite !

    A moins que ça soit le contraire... :'
    le n ne semble servir à rien, il prend la même valeur que le i de la boucle.
    En tout cas, dans le bout de code fourni (on n'y voit que la boucle de saisie, pas le reste) à reposter entre balise [ CODE ] et [/ CODE ] comme demandé par Jack

Discussions similaires

  1. Conversion décimal/binaire en langage C
    Par houssamwhat dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 04/12/2015, 14h16
  2. de l'aide dans un langage ladder s'il vous plait
    Par mya_0000 dans le forum Électronique
    Réponses: 1
    Dernier message: 17/11/2012, 19h49
  3. [Exercice]Convertisseur Décimal-Binaire en C
    Par Rouchesta dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 29/12/2011, 10h29
  4. Compteur ou convertisseur binaire decimal
    Par fifipil909 dans le forum Électronique
    Réponses: 5
    Dernier message: 26/05/2010, 12h28
  5. Programmer convertisseur décimal => binaire avec tableur
    Par GNRhic dans le forum TPE / TIPE et autres travaux
    Réponses: 6
    Dernier message: 19/03/2007, 22h13