Heim > Backend-Entwicklung > C++ > Hauptteil

Wie emuliert man Arithmetik mit doppelter Genauigkeit mithilfe von Gleitkommazahlen mit einfacher Genauigkeit?

Linda Hamilton
Freigeben: 2024-11-02 12:24:30
Original
639 Leute haben es durchsucht

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

Emulierung der Arithmetik mit doppelter Genauigkeit mit Gleitkommazahlen

In bestimmten Szenarien kann bei eingebetteten Hardwaresystemen mit eingeschränkter Gleitkommaunterstützung die Notwendigkeit einer doppelten Genauigkeit auftreten -Präzisionsfunktionalität. Dies wirft die Frage auf, wie dies erreicht werden kann, indem nur Gleitkommaoperationen mit einfacher Genauigkeit verwendet werden.

Um einen Wert mit doppelter Genauigkeit zu emulieren, besteht der Ansatz darin, eine Struktur zu verwenden, die ein Tupel aus zwei Gleitkommaoperationen mit einfacher Genauigkeit enthält. repräsentiert die hohen und niedrigen Teile des Doubles. Der Vergleich kann mithilfe der lexikografischen Reihenfolge durchgeführt werden.

Die Additionsoperation stellt jedoch eine Herausforderung dar. Die Basis für die Zugabe sollte sorgfältig abgewogen werden, um die Genauigkeit sicherzustellen. Es wird empfohlen, ein Vielfaches von FLT_MAX (dem Maximalwert, der durch einen Float mit einfacher Genauigkeit dargestellt werden kann) zu verwenden, um einen zwischenzeitlichen Unter- oder Überlauf zu vermeiden.

Um einen Übertrag zu erkennen, kann man die Summe der beiden Floats vom abziehen erwarteter Wert. Wenn das Ergebnis kleiner oder gleich Null ist, ist ein Übertrag aufgetreten.

Die folgenden Referenzen bieten wertvolle Einblicke in Techniken für die Emulation mit doppelter Genauigkeit unter Verwendung von Floats mit einfacher Genauigkeit auf GPU-Architekturen:

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

Das obige ist der detaillierte Inhalt vonWie emuliert man Arithmetik mit doppelter Genauigkeit mithilfe von Gleitkommazahlen mit einfacher Genauigkeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!