Maison > développement back-end > C++ > Comment émuler l'arithmétique double précision à l'aide de flotteurs simple précision ?

Comment émuler l'arithmétique double précision à l'aide de flotteurs simple précision ?

Linda Hamilton
Libérer: 2024-11-02 12:24:30
original
709 Les gens l'ont consulté

 How to Emulate Double-Precision Arithmetic Using Single-Precision Floats?

Émulation de l'arithmétique double précision avec des flotteurs

Dans certains scénarios, les systèmes matériels embarqués avec une prise en charge limitée des virgules flottantes peuvent rencontrer le besoin de doubles -fonctionnalité de précision. Cela soulève la question de savoir comment y parvenir en utilisant uniquement des opérations à virgule flottante simple précision.

Pour émuler une valeur double précision, l'approche consiste à utiliser une structure contenant un tuple de deux flotteurs simple précision, représentant les parties hautes et basses du double. La comparaison peut être effectuée à l'aide d'un ordre lexicographique.

Cependant, l'opération d'addition présente un défi. La base de l’ajout doit être soigneusement étudiée pour garantir l’exactitude. Il est recommandé d'utiliser un multiple de FLT_MAX (la valeur maximale représentable par un flotteur simple précision) pour éviter un débordement ou un débordement intermédiaire.

Pour détecter un report, on peut soustraire la somme des deux flotteurs du valeur attendue. Si le résultat est inférieur ou égal à zéro, un report s'est produit.

Les références ci-dessous fournissent des informations précieuses sur les techniques d'émulation double précision utilisant des flotteurs simple précision sur les architectures GPU :

  • https://hal.archives-ouvertes.fr/hal-00021443
  • http://andrewthall.org/papers/df64_qf128.pdf

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