Conversion nombre décimal en fraction

Discutez d'informatique ici !
uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

Conversion nombre décimal en fraction

par uztop » 07 Oct 2009, 15:14

Bonjour,

pour commencer désolé, je ne suis pas très présent sur le forum en ce moment, j'espère que j'aurai plus de temps les prochaines semaines.

J'ai une petite question par rapport à mon travail, je cherche une façon efficace (du point de vue algorithmique) pour convertir un nombre décimal (genre 1,23456) en une fraction irréductible (je cherche donc si possible quelque chose de mieux que de multiplier par 100000).
Il doit y avoir quelque chose à faire en regardant la périodicité du nombre mais je ne sais pas trop.
Est ce que quelqu'un a une idée?
Merci d'avance :)



adrd
Membre Naturel
Messages: 75
Enregistré le: 04 Avr 2009, 09:00

par adrd » 07 Oct 2009, 18:01

Bonjour,

C'est pour quel langage ?

Comment est représenté le nombre à convertir ?
Parce que si le nombre à convertir est dans une variable à virgule flottante, ça peut causer des problèmes. Par exemple la valeur de 1/5 en binaire est périodique ( 0,001100110011... ) alors qu'en décimal elle ne l'est pas.

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 08 Oct 2009, 16:44

oui c'est vrai que la question n'est pas tres claire.
En fait, je cherche plutot une facon mathematique de le faire, en partant de nombres en base 10.
Pour le langage, je pense que ca serait implemente en C, mais ca ne change pas grand chose.
Enfin bon, c'est un ami du travail qui m'a demande ca, je ne sais pas exactement pour quoi il en a beosin.

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 11:07

par Doraki » 09 Oct 2009, 07:28

tu veux que 0.333333333333 devienne 333333333333/1000000000000 ou bien 1/3 ?

(sinon pour les trucs genre 1.23456 j'crois pas qu'il y ait mieux que multiplier par 100000 et faire un coup de pgcd).

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 09 Oct 2009, 20:41

1/3
mais effectivement, la solution avec le pgcd parait plus raisonnable. En fait c'est un ami qui m'a posé la question, en me disant qu'il y avait certainement quelque chose de mieux à faire, bon enfin c'est pas grave, je lui redemanderai lundi éventuellement.

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 11:07

par Doraki » 10 Oct 2009, 09:33

Le 1/3 est quand même obtenu en arrêtant prématurément l'algo du pgcd.
(il est trop bien l'algo du pgcd)

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite