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 du décimal au binaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Par défaut conversion du décimal au binaire
    Bonjour,
    j'ai 2 programmes en langage C,le premier:
    Pour afficher sur 8 bits la représentation binaire d'un nombre entier positif par la division successive par 2.
    Exp:
    75/2=37; il reste 1
    37/2=18; il reste 1
    18/2= 9; il reste 0
    9/2= 4 ; il reste 1
    4/2= 2; il reste 0
    2/2= 2; il reste 1
    1/2= 0; il reste 1
    on prend le reste en inverse ca donne (1101011)
    pr completer 8 bits on ajoute zero a gauche et ca devient (01101011) mais si on a un grand nombre ca va prendre du temps c'est pour ca on a choisi la 2eme methode par la soustraction successive de puissance de 2 ca veut dire on suivant les ponderations de 2
    Exp:
    197=128+64+4+1
    Donc 197 est (11000101)
    je veux les solution par 2 methode svp dans le langage C
    je sais comment faire mais je sais pas rediger dans le langage c svp repondez moi le plus vite possible

  2. #2
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Citation Envoyé par souzen Voir le message
    <...>
    Exp:
    75/2=37; il reste 1
    37/2=18; il reste 1
    18/2= 9; il reste 0
    9/2= 4 ; il reste 1
    4/2= 2; il reste 0
    2/2= 2; il reste 0
    1/2= 0; il reste 1
    on prend le reste en inverse ca donne (1001011)
    <...>

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    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 480
    Par défaut
    Citation Envoyé par souzen Voir le message
    mais si on a un grand nombre ca va prendre du temps c'est pour ca on a choisi la 2eme methode par la soustraction successive de puissance de 2 ca veut dire on suivant les ponderations de 2
    En réalité, cet exercice n'a de sens que d'un point de vue pédagogique, puisque tes entiers sont stockés en binaire dans ta machine. Ça veut dire que ton compilateur a déjà fait le travail que tu lui fais faire au moment de compiler ton programme ...

    Pour les soustractions successives, ça marche aussi, mais pas forcément sur les grands chiffres puisque tu doit soit avoir précalculé toutes ces puissances (ce qui limite la taille des entiers que tu peux traiter), soit les calculer en temps réel, ce qui ne coûte pas moins cher que de diviser ton nombre par deux ...

  4. #4
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    pourquoi pas faire a coup de masque binaire et de division par deux (theoriquement tres rapide puisque ca reviens a faire un decalage de bit)

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    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 480
    Par défaut
    Citation Envoyé par daedric Voir le message
    (theoriquement tres rapide puisque ca reviens a faire un decalage de bit)
    C'est très rapide ... si ton nombre est déjà en binaire !

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    C'est très rapide ... si ton nombre est déjà en binaire !
    Qu'est-ce qu'un nombre qui n'est pas en binaire ? A ma connaissance, les machines actuelles sont binaires et toute valeur numérique est une combinaison de bits.

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    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 480
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Qu'est-ce qu'un nombre qui n'est pas en binaire ? A ma connaissance, les machines actuelles sont binaires et toute valeur numérique est une combinaison de bits.
    D'où mon post précédent :

    http://www.developpez.net/forums/d62...e/#post3695582

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

Discussions similaires

  1. programme de conversion de décimal en binaire et octale
    Par sk8trasher dans le forum Débuter
    Réponses: 3
    Dernier message: 04/06/2012, 20h37
  2. Conversion d'un nombre décimal en binaire.
    Par ariuss dans le forum Débuter
    Réponses: 6
    Dernier message: 17/10/2009, 11h38
  3. [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
  4. 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
  5. conversion de décimal à binaire
    Par sousou2007 dans le forum C++
    Réponses: 10
    Dernier message: 19/10/2007, 12h33

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