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 pour conversion de la partie fractionelle


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 196
    Points : 61
    Points
    61
    Par défaut Algo pour conversion de la partie fractionelle
    Bonjour à tous
    Voila je voudrais faire un algo qui convertit la partie fractionnelle d’un
    nombre de la base 10 vers la base 2. Vérifier que l’algorithme ne rentre pas dans
    une boucle infinie, même avec les nombres comme 0.3
    Merci de m'aider

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Citation Envoyé par djbad Voir le message
    Bonjour à tous
    Vérifier que l’algorithme ne rentre pas dans
    une boucle infinie, même avec les nombres comme 0.3
    Merci de m'aider
    Il faut pour cela définir a priori une précision, car si le développement décimal binaire du nombre est infini...
    En fait c'est de la dichotomie à répétition:
    Soit x dans l'intervalle [0,1[
    On compare x avec 0.5 si x>0.5 a0=1
    Puis on recommence avec 2*(x-0.5*a0) pour trouver a1 et ainsi de suite.
    On détermine ainsi les décimales jusqu'à un ordre n fixé à l'avance.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 196
    Points : 61
    Points
    61
    Par défaut
    Merci
    Voila ce que j'avais fait comme ebauche

    Variable
    Nbbit , nombre de bit sur lequel nous voulons representer notre valeur
    PF, partie fractionnel
    R , Resultat
    B, suite de chiffre pour la partie frationnel en base 2

    Ecrire PF
    Lire PF
    R = 2 x PF
    Pour i : 0 à nbbit
    B(i) = R(0) ; B(i) i represente l'indice de position de la suite et R(0) est le chiffre d'indice 0 du resultat qui soit 1 ou 0
    R = 2 x PF de R
    faire i suivant

    Est ce correct ? Merci encore

  4. #4
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Excuse moi mais je ne sais pas lire les algo en pseudo-code ou en pseudo-pseudo code.
    Voici la traduction dans un langage simple et expressif de l'algo que j'ai décrit en français
    Code python : 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
    24
    25
    # -*- coding: utf-8 -*-
    # To change this template, choose Tools | Templates
    # and open the template in the editor.
     
    __author__="gilles"
    __date__ ="$30 juin 2010 20:17:30$"
     
    def devdecbinaire (x,n):
        """x est un nombre dans [0,1[ et n un entier
        Retourne le développement binaire de x avec n 'décimales' binaires"""
        DV=[]
        for i in xrange(0,n):
            if x>=0.5:
                a=1
            else:
                a=0
            DV.append(a)
            x=x-0.5*a
            x=2*x
        return DV
     
    if __name__ == "__main__":
        print devdecbinaire(0.3,10)
     
    """Résultat de l'éxecution:[0, 1, 0, 0, 1, 1, 0, 0, 1, 1]"""

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 196
    Points : 61
    Points
    61
    Par défaut
    merci pour ton aide

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 26/05/2008, 22h10
  2. Algo pour déterminer la couleur d'un objet
    Par Nath71 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 26/04/2005, 01h58
  3. Algo pour enlever les yeux rouges
    Par cha266 dans le forum Algorithmes et structures de données
    Réponses: 26
    Dernier message: 25/04/2005, 11h14
  4. Déterminer Algo pour une formule mathématique
    Par jekyll_omiwane dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/01/2005, 18h28
  5. Algo pour écrire un chiffre
    Par Skyw4lKR dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 11/08/2004, 13h32

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