Puisqu'il n'est pas possible de calculer tous les chiffres de "e", vous allez devoir choisir un point d'arrêt.
double précision: de 16 chiffres décimaux
Pour les applications pratiques, "le 64 bits en virgule flottante double précision de la valeur qui est aussi proche que possible de la vraie valeur de" e "-- environ 16 chiffres décimaux" est plus que suffisant.
Comme KennyTM dit, cette valeur a déjà été pré-calculé pour vous dans la bibliothèque de mathématiques.
Si vous voulez calculer vous-même, comme Hans Passant souligné, factorielle déjà pousse très vite.
Les 22 premiers termes de la série est déjà trop pour le calcul de la précision -- l'ajout d'autres termes de la série ne change pas le résultat si il est stocké dans un 64 bits à virgule flottante en double précision variable.
Je pense que ça va prendre plus de temps à clignoter que pour votre ordinateur pour faire de la 22 divise. Donc je ne vois pas de raison pour optimiser davantage.
des milliers, des millions, voire des milliards de chiffres après la virgule
Comme Matthieu M. souligné, cette valeur a déjà été calculée, et vous pouvez le télécharger à partir Yee site web.
Si vous voulez calculer vous-même, que de nombreux chiffres ne correspondent pas au standard d'un double-nombre à virgule flottante.
Vous avez besoin d'un "bignum" de la bibliothèque.
Comme toujours, vous pouvez soit utiliser l'un des nombreux gratuit bignum bibliothèques déjà disponibles, ou de ré-inventer la roue, par la construction de votre propre encore une autre bignum bibliothèque avec ses propres caprices.
Le résultat, une longue file de chiffres n'est pas très utile, mais les programmes de calcul sont parfois utilisés comme points de référence pour tester les performances et la précision de "bignum" logiciel de bibliothèque, et que le stress tests pour vérifier la stabilité et la capacité de refroidissement de nouveau matériel de la machine.
Une page très brièvement décrit les algorithmes Yee utilise pour calculer les constantes mathématiques.
Wikipédia, "le découpage binaire" de l'article va dans beaucoup plus de détails.
Je pense que la pièce que vous cherchez est le nombre de représentation:
au lieu d'en interne, le stockage de tous les nombres comme une longue série de chiffres avant et après la virgule (ou un binaire point),
Yee magasins de chaque terme et chaque somme partielle comme un nombre rationnel -- comme deux entiers, dont chacun est une longue série de chiffres.
Par exemple, dire que l'un des travailleurs de Processeurs a été affecté de la somme partielle,
... 1/4! + 1/5! + 1/6! + ... .
Au lieu de faire la division de première, pour chaque terme, puis en ajoutant, puis retour à un seul million de chiffres à virgule fixe suite à la gestionnaire de l'unité centrale de traitement:
// extended to a million digits
1/24 + 1/120 + 1/720 => 0.0416666 + 0.0083333 + 0.00138888
que le CPU peut ajouter tous les termes dans la série des premières rationnelle de l'arithmétique, et de retourner les résultats raisonnables pour le gestionnaire de l'unité centrale de traitement: deux entiers de peut-être quelques centaines de chiffres:
// faster
1/24 + 1/120 + 1/720 => 1/24 + 840/86400 => 106560/2073600
Après des milliers de termes ont été ajoutés ensemble de cette façon, le gestionnaire de CPU ne la seule division à la fin pour obtenir les chiffres décimaux après la virgule.
N'oubliez pas d'éviter PrematureOptimization, et
toujours ProfileBeforeOptimizing.