Maison > développement back-end > C++ > Pourquoi la double précision affiche-t-elle 17 décimales pour certaines décimales répétitives ?

Pourquoi la double précision affiche-t-elle 17 décimales pour certaines décimales répétitives ?

Linda Hamilton
Libérer: 2024-12-03 07:40:09
original
375 Les gens l'ont consulté

Why Does Double Precision Show 17 Decimal Places for Some Repeating Decimals?

Double précision : exploration de la précision de la représentation décimale

La double précision, un type de données couramment utilisé en programmation, offre une précision revendiquée d'environ 15 décimales lieux. Cependant, lorsqu'il s'agit de valeurs représentées sous forme de décimales répétitives, telles que 1,0/7,0, des anomalies surviennent.

Pourquoi 17 décimales ?

En interne, les nombres à double précision possèdent 53 bits significatifs, ce qui correspond à environ 15,95 chiffres décimaux. Bien que cela devrait théoriquement conduire à 16 décimales de représentation, les implémentations arrondissent à 15 (noté DBL_DIG).

Pour illustrer, la fonction nextafter() peut révéler les nombres représentables les plus proches adjacents à une valeur donnée. Lorsqu'il est appliqué à 1.0/7.0 (0.14285714285714285), nous observons 17 décimales affichées. Le changement dans le dernier chiffre indique la précision réelle de la représentation.

Précision et Chance

Dans le cas de 1.0/7.0, le dernier chiffre affiché correspond par coïncidence au valeur mathématique (5). Cependant, pour d'autres décimales répétitives (par exemple, 1,0/3,0), le dernier chiffre peut ne pas s'aligner, ce qui montre les limites d'une représentation décimale précise.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal