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+

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    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 381
    Points : 41 578
    Points
    41 578
    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.

  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 078
    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 078
    Points : 2 338
    Points
    2 338
    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 : 50
    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...

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