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 :

nombre decimal en tableau binaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 69
    Par défaut nombre decimal en tableau binaire
    Bonjour,

    Voici mon probleme, je souhaiterai convertir un nombre décimale en un tableau de binaire, je m'explique. j'essaie d'ecrire un programme qui lorsque je lui envoie 8 en entrée il me retourne:
    case[0]=1 case [1]=0 case [2]=0 case [3]=0

    j'ai pri l'exemple d'un tableau case[4], apres je travaille avec un tableau [21], mais pour le principe cela n'a pas de différence. Voici mon code jusqu'a present etant novice en programmation C j'ai des difficultées a Coder.
    Dans mon programme je sais que je ne suis pas dans le bon ordre. A savoir que pour mon utilisation ultérieur, ce n'est pas important. Ce qu'il l'est est que le programme fasse défiler les valeurs de 0 à 2^21, ou inversement. voici mon code:

    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
    17
    18
    19
    20
    21
    22
    23
    int main()
    {
    int i=0;
    float a=12;
    char meas [21]= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
     
        for (i=0; i<=20; i++)
        {
        a=a/2;
     
            if ( (int)a!=0)
            {
                meas [i]=1;
            }
                else
                {
                    meas [i]=0;
     
                }
    printf("%i ", meas[i]);
        }
     
    }
    merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 179
    Par défaut
    Affiche la valeur de ton "a" après la division ça devrait te donner un premier indice...

    (utilise la balise code)

  3. #3
    Membre chevronné
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2009
    Messages : 236
    Par défaut
    je pense que tu mélange deux chose: pour obtenir le dernier bit de ta chaine tu dois faire a%2 (passage en base 2) et a/2 permet de relance ta boucle.

    En gros ton algo donnerai : var=a%2 - insertion de var dans le tableau - a=a/2 - boucle

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 150
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    il s'agit de décomposer un nombre en ses puissances de 2 ?
    Tu es obligé d'utiliser les divisions successives ?
    Sinon, utilise des champs de bits

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define GETBIT(a,n) ((1<<(n))&(a))
    (il me semble)
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. [Vb] Nombre de lignes tableau Excel
    Par Little-Freud dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2006, 14h53
  2. [C#]saisir que un nombre decimal dans 1 textBox
    Par mcay dans le forum Windows Forms
    Réponses: 25
    Dernier message: 04/11/2005, 15h43
  3. Comparaison de nombre dans un tableau.
    Par slackjayo dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 29/04/2005, 17h21
  4. [ABAP] Convertir nombre decimal en binaire
    Par danael dans le forum SAP
    Réponses: 3
    Dernier message: 04/04/2005, 12h17
  5. definir un nombre decimal sur 2 numero max apres la vergule
    Par nil dans le forum Bases de données
    Réponses: 5
    Dernier message: 25/02/2004, 21h49

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