Einheit in der letzten Stelle

Ria Hagemann April 7, 2016 E 0 0
FONT SIZE:
fontsize_dec
fontsize_inc

In Informatik und numerische Analyse, Einheit in der letzten Stelle oder Einheit mindestens Präzision ist der Abstand zwischen Fließkommazahlen, dh der Wert der niedrigstwertigen Stelle steht, wenn es 1. Es wird als Maß für die Präzision in der numerischen verwendet Berechnungen. In radix b, wenn x Exponenten E und dann ULP = Maschine epsilon · b, aber alternative Definitionen existieren in den Ziffern und Rechen Literatur für ULP, Exponent und Maschine epsilon, und sie können verschiedene Gleichungen zu geben.

John Harrison verwendet eine etwas andere Definition des ULP: ULP ist der Abstand zwischen den beiden am nächsten gebietsübergreifenden Fließkommazahlen a und b, unter der Annahme, dass der Exponent Bereich nicht oben begrenzt. Diese Definitionen unterscheiden sich nur bei unterzeichnet Befugnisse des radix.

Die IEEE 754-Spezifikation, gefolgt von allen modernen Gleitkomma-Hardware erfordert, dass das Ergebnis eines elementaren Rechenoperation innerhalb von 0,5 ULP der mathematisch exakten Ergebnis sein, mit John Harrison Definition, die, ist, dass es das bestmögliche Ergebnis zu sein. Seriöse numerischen Bibliotheken berechnen die grundlegenden transzendenten Funktionen, um zwischen 0,5 und etwa 1 ULP. Nur wenige Bibliotheken berechnen sie innerhalb von 0,5 ULP Dieses Problem ist komplex aufgrund Dilemma der Tabelle-Maker.

Beispiel

Sei x eine nicht negative Fließkommazahl sein und davon ausgehen, dass die aktive Rundungs ​​Attribut Runde auf die nächste. Wenn ULP kleiner oder gleich 1 ist, dann ist x + 1 & gt; x. Andernfalls x + 1 = x. Dies wird in der folgenden Haskell Code an einem interaktiven Eingabeaufforderung eingegeben demonstriert:

Hier beginnen wir mit 0 im 32-Bit-Single-Precision und wiederholt hinzuzufügen 1, bis die Operation idempotent ist. Das Ergebnis ist gleich 2, da die Mantisse für eine einfachgenaue Nummer enthält in diesem Beispiel 24 Bit.

Ein weiteres Beispiel, in Python, auch in einem interaktiven Eingabeaufforderung eingegeben wird:

In diesem Fall beginnen wir mit x = 1 und wiederholt zu verdoppeln, bis x = x + 1. Das Ergebnis ist 2, weil das Doppelte Genauigkeit verwendet eine 53-Bit-Mantisse.

Sprachunterstützung

Seit Java 1.5 wurde die Java-Standardbibliothek Funktionen enthalten und. Die C-Sprache-Bibliothek math.h die Funktion nextafter bietet zur Berechnung des nächsten Doppel. Die Boost C ++ Bibliotheken bieten boost :: Mathematik :: float_distance, um die Gleitkomma-Abstand zwischen zwei Doppelzimmer zu berechnen.

  Like 0   Dislike 0
Vorherige Artikel Verstopfte McInnis
Nächster Artikel Plasma-Effekt
Bemerkungen (0)
Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha