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 :

Conversion d'un nombre décimal en binaire.


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Conversion d'un nombre décimal en binaire.
    Bonjour,

    J'essaie depuis quelques jours de mettre une nouvelle opération dans ma calculatrice.

    C'est la conversion d'un nombre décimal en binaire.

    Je sais comment faire mais je ne trouve pas de solution pour "sauvegarder" les nombres obtenus dans un fichier ou une variable.

    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int nbredecimal = 167;
    int nbrebinaire = 0;
     
    while(nbredecimal != 0)
    {
    nbrebinaire = nbredecimal % 2;
    nbredecimal = nbredecimal / 2;
    }
    Dans ce cas là, nbrebinaire = 1 et nbredecimal = 83.

    Jusque lâ tout va bien mais maintenant ce 1 du nbrebinaire, Où puis-je le "sauvegarder" pour ne pas le perdre ?

    Merci d'avance !

    A+

  2. #2
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Salut,

    Pour 'sauvegarder' ton nombre ça dépend de ce que tu veux faire
    Si tu veux le sauvegarder dans un fichier, il faut que tu ouvres/crée un fichier et que tu y inscrives ton nombre (avec fputc par exemple).

    Si tu veux juste le garder dans ton programme pour pouvoir l'utiliser, tu peux 'sauvegarder' ton nombre dans un tableau de char.

    A+
    Plus tu pédales moins fort, moins t'avances plus vite.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Un "nombre" n'est pas binaire ou décimal: Il est juste lui-même.

    Si tu veux exprimer un nombre en notation binaire, tu dois en faire une chaîne de caractères: Un tableau de char.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Comment prévoir le nombre de chiffre qu'aura le nombre binaire et je n'arrive pas à stocker des nombres dans les tableaux de char...

    Pourriez-vous me donner un exemple de code ? Merci

    A+

  5. #5
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Citation Envoyé par ariuss Voir le message
    Comment prévoir le nombre de chiffre qu'aura le nombre binaire et je n'arrive pas à stocker des nombres dans les tableaux de char...

    A+
    Ben, soit tu définis une taille max soit tu l'alloues de façon dynamique

    Dans le premier cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #define MA_TAILLE_MAX 1000
     
    #include<stdio.h>
     
    char bin[MA_TAILLE_MAX];
    Dans le second cas, tu trouveras tout très bien détaillé ici

  6. #6
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Tu peux savoir combien de case va prendre ta notation binaire de ton nombre decimal. Il suffit de compter combien de puissance de 2 il faut pour depasser ton nombre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int nombreDecimal = 256;
    int nombreCase = 1;
     
    double limite = 1;
     
    while (limite < nombreDecimal)
    {
        limite += pow(2, nombreCase);
        nombreCase++;
    }
    Je ne suis pas tres sur de mon code, mais en tout cas, c'est quelque chose de ce gout que tu dois faire si tu veux connaitre le nombre de case de ton tableau.

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Ou le ceil du log2 du nombre, aussi, c'est pareil, ou encore 8.sizeof(variable_entière) : il y a pas mal de possibilités pour trouver cette valeur...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Conversion d'un nombre décimal en HH:MM:SS
    Par BillGates62 dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/06/2012, 13h28
  2. Réponses: 3
    Dernier message: 17/10/2011, 21h27
  3. Conversion nombre décimal <-> binaire (signé et flottant)
    Par lecteur1001 dans le forum Simulink
    Réponses: 12
    Dernier message: 06/01/2011, 16h49
  4. [TPW] Conversion d'un nombre décimal en binaire
    Par thimo2 dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 10/04/2009, 00h24
  5. Conversion d'un nombre binaire en décimal
    Par grungy-soul dans le forum Général Java
    Réponses: 7
    Dernier message: 28/05/2008, 09h23

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