Conversion nombre décimal en fraction
Discutez d'informatique ici !
-
uztop
- Membre Complexe
- Messages: 2396
- Enregistré le: 12 Sep 2007, 11:00
-
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)
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités