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

Algorithmes et structures de données Discussion :

Algo binaire...


Sujet :

Algorithmes et structures de données

  1. #1
    En attente de confirmation mail Avatar de wareq
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 257
    Points : 94
    Points
    94
    Par défaut Algo binaire...
    Bonjour je cherche un algo qui respecte ce cahier des charges la :

    Donner la valeur binaire d’un nombre décimal de 3 chiffres
    ex : 128 -> 1000 0000


    Voici mon début ; et aprés je suis beaucoup bloqué pour la suite , je ne vois pas si vous pouvez m'aider..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Algorithme :
     
    Entrée: entier n
    Sortie : entier s
    Traitement : à partir d’un nombre n on trouve la valeur en binaire
    Variables locales : i 
     
    Début
    Merci..

  2. #2
    Membre averti Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Points : 352
    Points
    352
    Par défaut
    Salut,

    de meme qu'un chiffre en base 10 se decompose comme ceci

    128 = 1*100 + 2*10 + 8*1

    tu peux faire un changement base de ton chiffre en base 10 pour la passer en base 2

    128 = 1*2^7 + 0*2^6 + 0*2^5 + .... + 0*2^1 + 0*2^0

    et comme tu peux le remarquer les valeurs devant chaque puissance de 2 vont correpondre a la valeur de ton bit dans ton nombre binaire

    1 0 0 ... 0 0

    Si tu veux pouvoir transformer des nombre a 3 chiffres (de 0 a 999) alors 8 bits ne siffisent pas, car avec 8 bits le maximum est 255. tu peux aller jusqu'a 1023 avec 10 bits.

    XXiemeciel
    XXiemeciel

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    Ce petit code doit amener une réponse
    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
     
    AnsiString Base2 ( int i )
       {
       if ( i <=0 ) return "?";
       double d = log10(i)/log10(2);
       int m = (int)d;
       AnsiString S = "";
       int p = 1;
       for (int j= 1; j<=m; j++) p *=2;
       while (p > 0 )
          {
          if ( p <= i ){S = S + "1" ; i-=p; }else S = S + "0";
          p /= 2;
          }
       return S;
       }

  4. #4
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    pour connaitre la représentation binaire d'un nombre décimal (même s'il comporte plus que 3 digits) il y a une manière simple:
    tu fais une suite de divisions ENTIERES par 2, en mémorisant le reste, jusqu'à obtenir 0. Ensuite tu lis les restes "a l'envers". Pour être plus clair, un exemple:

    107 en base 10 = ??? en base 2:

    107 / 2 = 53 reste 1 <- on "mémorise le 1, et on divise le 53
    53 / 2 = 26 reste 1 <- on "mémorise le 1, et on divise le 26
    26 / 2 = 13 reste 0 <- etc, etc
    13 / 2 = 6 reste 1
    6 / 2 = 3 reste 0
    3 / 2 = 1 reste 1
    1 / 2 = 0 reste 1 <- ne pas oublier cette derniere étape

    maintenant, "lisons les restes à l'envers", en "remontant":
    1101011

    Or, 107 en base 10 = 1101011 en base 2

  5. #5
    En attente de confirmation mail Avatar de wareq
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 257
    Points : 94
    Points
    94
    Par défaut
    Ok merci je verrais avec tout ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/05/2007, 16h24
  2. algo d'arbre binaire
    Par sad-evil dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 09/10/2006, 16h44
  3. Algo Conversion Décimal -> Binaire
    Par MisterTee dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 23/02/2006, 22h53

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