IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

convertisseur decimal au binaire


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Par défaut convertisseur decimal au binaire
    bonjours tout le monde,
    j'ai un petit problème avec mon code ,il fait se que je veux,il convertie du décimal au binaire mais renverser j'explique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <stdlib.h>
     
    int main()
    {
        int n;
        int R,Q;
        printf("entrez le nombre a convertire?");
        scanf("%d",&n);
        while (Q!= 0)
        {
            Q=n/2;
            R=n%2;
            printf("  %d",R);
            n=Q;
        }
    }
    quand il affiche le nombre binaire il affiche(a partir de la gauche)de la fin au debut !
    ex: 130 = 10000010en binaire

    mais mon programme affiche : 01000001

    comment faire pour corriger svp
    merci

  2. #2
    Membre Expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Par défaut
    Bonjour, cela est tout à fait normal.

    Je te propose un exemple pour te faire comprendre pourquoi.
    Prends le nombre 4=100 en binaire.

    Tu testes au 1er parcours :
    N=4
    Q=2
    R=0

    Affichage : 0

    Au second parcours :
    n=2;
    Q=1;
    R=0

    Affichage: 00

    Au troisième parcours :
    N=1
    Q=0
    R=1
    Affichage : 001


    Solution, tu mets ton reste dans une variable et tu l'inverse
    ou un tableau et le parcourir de la fin au début

    Cordialement,
    Christophe

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Par défaut
    re
    je n'est pas trop bien compris comment procéder ??
    peut tu m'expliquer un peut plus??/

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Citation Envoyé par sizixe Voir le message
    re
    je n'est pas trop bien compris comment procéder ??
    peut tu m'expliquer un peut plus??/
    Ce que carden752 t'explique, c'est qu'il est tout-à-fait normal que ton nombre soit affiché « à l'envers » puisque tu découpes en commençant par le chiffre de poids faible, donc le plus à droite, et il n'y a pas de solution magique pour y remédier : tu es obligé de stocker tes résultats intermédiaires jusqu'à ce que tu atteignes zéro, moment où tu pourras tous les réafficher en partant de la fin.

    Pour cela, soit tu fais un tableau dès le départ, soit tu utilises une fonction récursive pour utiliser la pile et faire en sorte que cela soit fait automatiquement.

    D'autre part, il y a bug potentiel ici :


    Sauras-tu voir lequel ?

Discussions similaires

  1. Convertisseur Decimal - Binaire
    Par AWDAW dans le forum C++
    Réponses: 6
    Dernier message: 02/12/2014, 09h44
  2. convertisseur decimal binaire
    Par lherbaux dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 15/02/2012, 10h54
  3. Réponses: 7
    Dernier message: 25/01/2011, 00h48
  4. convertisseur decimal binaire
    Par mathiew dans le forum Débuter
    Réponses: 4
    Dernier message: 09/12/2008, 10h26
  5. [ABAP] Convertir nombre decimal en binaire
    Par danael dans le forum SAP
    Réponses: 3
    Dernier message: 04/04/2005, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo