Nous utilisons actuellement System.Decimals pour représenter les nombres dans une application .NET que nous développons. Je sais que les décimales sont conçues pour minimiser les erreurs dues à l'arrondissement, mais je sais aussi que certains nombres, 1/3 par exemple, ne peuvent pas être représentés sous forme décimale, donc certains calculs auront une petite erreur d'arrondi. Je crois que l'ampleur de cette erreur sera très petite et insignifiante, mais un collègue n'est pas d'accord. Je voudrais donc être en mesure d'estimer l'ordre de grandeur de l'erreur due à l'arrondissement dans notre application. Supposons, par exemple, que nous calculons un total cumulé de "deals" et que nous effectuions environ 10 000 "deals" par jour et qu'il y ait environ 5 à 10 opérations décimales (add, sub, div, mul etc.) pour calculer le total cumulé nouveau total cumulé pour chaque transaction reçue, quel serait l'ordre du magnat de l'erreur ronde? Une réponse avec une procédure de calcul de ce serait également bien, donc je peux apprendre comment le faire pour moi-même dans le futur.Estimation d'erreur sur les calculs utilisant des décimales
4
A
Répondre
1
What Every Computer Scientist Should Know About Floating-Point Arithmetic va dans le détail sur l'estimation de l'erreur dans le résultat d'une séquence d'opérations en virgule flottante, compte tenu de la précision du type virgule flottante. Je n'ai pas essayé cela sur un programme pratique, donc j'aimerais savoir si c'est faisable.
+0
Aurait été bien si quelqu'un aurait pu traduire en mots d'une syllabe pour moi, mais je suppose que c'est la bonne réponse. – Robert
Questions connexes
- 1. Application Android - Estimation des coûts
- 2. Format des valeurs décimales sur un BlackBerry
- 3. String.Format étrangle sur les valeurs décimales?
- 4. Exemples de calculs décimaux dans l'iPhone
- 5. Quand faire des calculs
- 6. Tarification des produits logiciels/estimation des coûts
- 7. Comment maintenir la précision décimale dans les calculs
- 8. C# calculs de temps
- 9. Estimation Consommation Basé sur Temps de marche Analyse/code Taille
- 10. Comment supprimer les zéros et les virgules décimales des chaînes décimales?
- 11. Package de distribution des calculs
- 12. Comment ajouter des nombres après décimales en utilisant php
- 13. API pour les calculs mathématiques sur le cloud
- 14. UILajouter les mauvais calculs de taille sur l'iPhone
- 15. Quelle bibliothèque utilisez-vous pour les calculs matriciels sur CUDA?
- 16. RegEx remplacer avec des calculs?
- 17. Estimation de la valeur de Pi en utilisant MATLAB
- 18. m-estimation pour les valeurs continues
- 19. FogBugz - Estimation & EBS
- 20. WPF TabControl - activation basée sur la visibilité des calculs d'affichage
- 21. Comparer des décimales en PHP
- 22. Limite des décimales dans DBGrid
- 23. Estimation du pourcentage d'utilisateurs de Windows OS utilisant .net 3.0?
- 24. MATLAB diffuse les appels lors des calculs exigeants. Pourquoi donc?
- 25. arrondir les décimales dans Django
- 26. Commentaires Wordpress - effectuer des calculs simples?
- 27. Opérations arithmétiques sur des décimales très, très longues
- 28. Accélération des calculs mathématiques en Java
- 29. Estimation agile/XP
- 30. Graphics.MeasureCharacterRanges donnant des calculs de taille incorrecte
La décimale peut représenter jusqu'à 28 décimales - elle convient aux opérations monétaires. Si vous êtes intelligent dans vos opérations, vous pouvez limiter la division et la multiplication ou mettre en œuvre des contre-mesures afin d'éliminer l'imprécision de division/multiplication (en utilisant l'arrondi + la soustraction ou d'autres méthodes). Les valeurs monétaires directes n'auront pas beaucoup d'espaces décimaux, donc l'addition/la soustraction est sûre. Certaines divisions folles (si cumulatives) entraîneront des pertes, peu importe l'ampleur du type de données utilisé (si vous n'utilisez pas de contre-mesures). –
Une chose dont je n'ai jamais été sûr, je comprends qu'un nombre décimal peut représenter jusqu'à 28 décimales, mais cela change-t-il lorsque le nombre décimal augmente? c'est-à-dire qu'une décimale qui contient une valeur d'un million peut-elle encore avoir 28 places après la virgule décimale? – Robert
Oui - la décimale est un point fixe, donc la précision est la même pour les grands et les petits nombres. http://msdn.microsoft.com/en-us/library/system.decimal.aspx –