Gleitkomma-Genauigkeit-Rechner
Eingaben
| Format | Doppelt (64 Bit) |
|---|---|
| Wert | 1.000 |
Gleitkomma-Genauigkeit-Rechner
Ermittelt die Maschinengenauigkeit, die signifikanten Dezimalstellen und den Abstand darstellbarer Werte (ULP) für die IEEE-754-Formate halbe, einfache, doppelte und vierfache Genauigkeit.
Eingaben
Format und Wert
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Genauigkeit
Details
Gleitkomma-Genauigkeit
Computer speichern reelle Zahlen in einer endlichen Anzahl von Bits, sodass die meisten Werte nur näherungsweise gehalten werden. Dieser Rechner gibt die Genauigkeit der binären IEEE-754-Formate — halb, einfach, doppelt und vierfach — an, indem er die Maschinengenauigkeit, die Anzahl der zuverlässigen Dezimalstellen und den Abstand zwischen darstellbaren Zahlen (die ULP) bei einem von Ihnen gewählten Wert berechnet. Zusammen erklären sie, warum Gleitkommaarithmetik präzise, aber nicht exakt ist.
Wie eine Gleitkommazahl eine Zahl speichert
Eine IEEE-754-Zahl wird als Vorzeichen, Mantisse (die signifikanten Ziffern) und ein Exponent geschrieben, der sie um eine Zweierpotenz skaliert — ähnlich der wissenschaftlichen Schreibweise zur Basis 2. Jedes Format legt fest, wie viele Bits die Mantisse erhält: halbe Genauigkeit hat 11 Mantissenbits, einfache 24, doppelte 53 und vierfache 113 (jede Zahl schließt ein implizites führendes Bit ein). Je mehr Mantissenbits, desto feiner die Auflösung.
Maschinengenauigkeit
Das sauberste Maß für die Auflösung ist die Maschinengenauigkeit, der Abstand zwischen 1,0 und der nächsten darstellbaren Zahl darüber:
wobei die Anzahl der Mantissenbits ist. Für doppelte Genauigkeit gilt . Dies ist eine relative Schranke: Jede reelle Zahl wird mit einem relativen Fehler von höchstens gespeichert. Die zuverlässige Anzahl signifikanter Dezimalstellen folgt unmittelbar als — etwa 15,7 für doppelte Genauigkeit.
ULP: ein Abstand, der mit der Größenordnung wächst
Die Maschinengenauigkeit beschreibt den Abstand nahe 1,0, doch Gleitkommazahlen sind nicht gleichmäßig verteilt. Der Abstand zwischen aufeinanderfolgenden darstellbaren Werten, die Einheit an letzter Stelle (ULP), skaliert mit der Größenordnung:
Nahe 1 ist der Abstand die Maschinengenauigkeit; nahe 1.000 ist er etwa tausendmal größer. Deshalb behalten Gleitkommazahlen eine konstante relative Genauigkeit, verlieren aber mit wachsenden Zahlen an absoluter Genauigkeit.
Rechenbeispiel
Nehmen Sie doppelte Genauigkeit und den Wert 1000. Der Exponent ist , also:
ULP(1000)=29−52=2−43≈1.14×10−13Der größte Rundungsfehler nahe 1000 ist die Hälfte davon, etwa . Eine doppelt genaue Zahl kann also 1000 von 1000,0000000000001 unterscheiden, aber nicht von einem Wert, der sich in der sechzehnten signifikanten Stelle unterscheidet.
Warum 0,1 nicht exakt ist
Binäre Gleitkommazahlen können nur Summen von Zweierpotenzen darstellen, und 0,1 hat keine endliche Binärentwicklung — ebenso wie ein Drittel im Dezimalsystem keine hat. Sie wird daher auf den nächsten darstellbaren Wert gerundet, weshalb 0.1 + 0.2 in den meisten Sprachen nicht exakt 0.3 ergibt. Die Abweichung liegt in der Größenordnung der Maschinengenauigkeit und ist meist harmlos, summiert sich aber über lange Berechnungen und ist der Grund, warum Geld oft als ganze Zahl oder in einem Dezimaltyp statt als Gleitkommazahl gespeichert wird. Wie ganze Zahlen selbst im Binärsystem codiert werden, zeigt der Zweierkomplement-Rechner.
Häufig gestellte Fragen (FAQ)
Was ist die Maschinengenauigkeit?
Die Maschinengenauigkeit ist der Abstand zwischen 1,0 und der nächsten Gleitkommazahl, die größer als 1,0 ist. Sie ist gleich 2 hoch der negativen Anzahl der Nachkomma-Mantissenbits — für doppelte Genauigkeit ist das 2⁻⁵², etwa 2,22 × 10⁻¹⁶.
Die Maschinengenauigkeit misst die relative Auflösung des Formats: Jede reelle Zahl wird mit einem relativen Fehler von höchstens der Hälfte der Maschinengenauigkeit gespeichert. Sie ist der Standardmaßstab dafür, wie viele Stellen ein Format zuverlässig tragen kann.
Was ist eine ULP?
ULP steht für „unit in the last place" (Einheit an letzter Stelle) — der Abstand zwischen einer Gleitkommazahl und der nächsten darstellbaren Zahl darüber.
Anders als die Maschinengenauigkeit, die fest ist, wächst die ULP mit der Größenordnung: nahe 1 ist der Abstand die Maschinengenauigkeit, nahe 1.000 ist er etwa tausendmal größer und nahe einer Milliarde noch größer. Da der Abstand mit dem Wert skaliert, behalten Gleitkommazahlen über ihren Bereich eine annähernd konstante relative Genauigkeit, während die absolute Genauigkeit mit wachsenden Zahlen abnimmt.
Warum lässt sich 0,1 nicht exakt speichern?
Binäre Gleitkommazahlen können nur Summen von Zweierpotenzen darstellen. Der Dezimalbruch 0,1 hat keine endliche Binärentwicklung — ebenso wie ein Drittel keine endliche Dezimalentwicklung hat — und wird daher auf den nächsten darstellbaren Wert gerundet, der etwas größer als 0,1 ist.
Deshalb ergibt 0,1 + 0,2 in den meisten Sprachen nicht exakt 0,3. Der Fehler ist winzig, in der Größenordnung der Maschinengenauigkeit, summiert sich aber über viele Operationen und ist der Grund, warum Geldbeträge oft als ganze Zahlen oder in Dezimaltypen gespeichert werden.
Wie viele Dezimalstellen fasst jedes Format?
Die zuverlässige Anzahl signifikanter Dezimalstellen ist ungefähr die Anzahl der Nachkomma-Mantissenbits mal dem Logarithmus von 2 (etwa 0,301). Halbe Genauigkeit liefert rund 3 Stellen, einfache etwa 7, doppelte etwa 15 bis 16 und vierfache etwa 34. Dies sind die Stellen, die Sie sicher hin- und zurückwandeln können; das Ausgeben von mehr Stellen offenbart die Rundungsartefakte der Binärdarstellung statt sinnvoller Genauigkeit.
Weitere Empfehlungen
Zweierkomplement-Rechner
Ganzzahl in Zweierkomplement-Darstellung (binär und hexadezimal) umrechnen oder einen Binärstring als vorzeichenbehaftete Dezimalzahl dekodieren. Wählbare Bitbreite: 8, 16, 32 oder 64 Bit.