Il existe quelques méthodes numériques pour voir si vous allez perdre de la précision, mais l'essentiel est que vous devez mieux comprendre la définition de la précision.
-4939600281397002,2812
et
-4939600281397002,2812000000000000
sont pas le même nombre.
Lorsque vous ajoutez
-2234,6016114467412141
et
-4939600281397002,2812
ensemble, la bonne sortien'aura 20 chiffres de précision, parce que les 12 autres chiffres du les plus petits nombres sont dénués de sens étant donné que les 12 chiffres de même taille dans le plus grand nombre sont inconnu Vous pouvez supposer qu'ils sont nuls, mais si c'est le cas, vous devez les déclarer explicitement comme tels et utiliser un système de numérotation capable de les gérer - l'ordinateur n'est pas doué pour comprendre les intentions implicites.
En ce qui concerne la détection de ce problème, tout ce que vous avez à faire est de savoir s'ils ont le même exposant (en supposant une mantisse normalisée +/- 1 ou un équivalent binaire similaire). Si elles ne sont pas normalisées, vous devrez les normaliser pour les comparer ou utiliser une comparaison légèrement plus complexe avec l'exposant.
de précision et la précision ne sont pas la même chose ...
-Adam