Ecrivez-moi : raphael dot pasquier at free dot fr Mise à jour le 2 octobre 2006 |
Algorithmes pour calculer les décimales de
Méthode élémentaire utilisant un développement limité
Quelques égalités
En utilisant les égalités sur la racine carré
,
,
pour des nombres positifs et , on vérifie facilement
les quelques formules suivantes sur :
Un peu d'analyseLes égalités précédentes sur peuvent nous permettre de calculer de "bonnes" approximations de ce nombre.En effet au voisinage de 0, on peut décomposer la fonction en une série entière. Plus précisement on montre que : tel que on a : c'est-à-dire avec
Algorithme élémentaire
Rappel rapide sur les flottants à virgule fixePour comprendre tout l'intérêt des algorithmes proposés, un détour doit être fait sur une méthode pour représenter les "réels" dans les ordinateurs, et qu'on appelle flottants à virgule fixe.Pour la clarté de l'exposé je vais raisonner sur un représentation en base 10 mais n'importe quel base convient. En particulier pour l'implémentation en langage C, l'auteur a utlisé la base qui permet de stocker un chiffre sur un entier de type long ( ie 32 bits). Cette représentaion repose sur le simple fait que tout nombre décimale n'ayant que chiffres après la virgule s'écrit sous la forme où est en entier relatif. Si on se fixe un précision ( ce qui revient à fixer p), il suffit d'enregistrer l'entier pour enregistrer le nombre décimal. De plus l'addition et la soustraction entre nombres décimales à chiffres après la virgule se fait simplement en faisant les opérations sur les numérateurs :
Par exemple dans cette représentaion, si on travaille avec chiffres après la virgule, le réel
avec zéros correspond à l'entier
avec zéros.
Pour une explication plus détaillée, je vous renvoie à la page de mon site sur la représentation des
nombres.
Ainsi pour calculer avec une précision à près (avec par exemple), on est ramené à faire des additions, des soustractions sur des entiers de grande taille (de l'ordre de ) et des multiplications, divisions par de "petits" entiers ( en général inférieur à dix millions) comme nous allons le voir dans le prochain paragraphe.
Algorithme utilisant un développement en série entièreEn posant etLe nombre dépend du nombre de décimales voulues. Une méthode simple consiste à calculer par récurrence en se servant des égalités :
Remarques :
Résultats :
About this document ...This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
The command line arguments were: The translation was initiated by raphi on 2004-05-30 |