Question

La question que je voulais dire concernait la mantisse et non le exponent , et a beaucoup à voir avec la question que j'ai posée plus tôt dans la semaine concernant " manquant " chiffres sur la somme de deux flottants négatifs.

Étant donné que la mantisse a une précision variable, comment savoir si on a dépassé le réglage de précision actuel de la mantisse? Ou, du côté proactif, comment savoir si un débordement de la précision de la mantisse est probable?

Cordialement, Bruce.

Était-ce utile?

La solution

Il existe quelques méthodes numériques pour déterminer si vous allez perdre de la précision, mais le résultat final est que vous devez mieux comprendre la définition de la précision.

-4939600281397002.2812

et

-4939600281397002.2812000000000000

ne sont PAS le même nombre.

Lorsque vous ajoutez

-2234.6016114467412141

et

-4939600281397002.2812

ensemble, la sortie correcte n'aura que 20 chiffres de précision, car les 12 chiffres supplémentaires dans le plus petit nombre n'ont pas de sens étant donné que les 12 chiffres de taille similaire dans le plus grand nombre sont inconnus. . Vous pouvez en déduire 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 le gérer: l'ordinateur ne comprend pas bien les intentions implicites.

En ce qui concerne la détection du moment où vous allez avoir ce problème, il vous suffit de déterminer s’ils ont le même exposant (en supposant une mantisse normalisée +/- 1 ou un équivalent binaire similaire). S'ils ne sont pas normalisés, vous devrez les normaliser pour pouvoir les comparer ou utiliser une comparaison légèrement plus complexe avec l'exposant.

Précision et exactitude ne sont pas la même chose ...

-Adam

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top