Fließkomma: Verständnis ihrer Ungenauigkeit
Geografische InformationssystemeContents:
Warum sind Fließkommazahlen ungenau?
Fließkomma-Dezimalwerte haben im Allgemeinen keine exakte binäre Darstellung. Dies ist ein Nebeneffekt der Art und Weise, wie die CPU Fließkommadaten darstellt. Aus diesem Grund kann es zu einem gewissen Präzisionsverlust kommen, und einige Fließkommaoperationen können unerwartete Ergebnisse liefern.
Wie genau ist Gleitkomma?
Bei einem Datentyp gibt es eine begrenzte Anzahl von Bits. Diese Bits können einen Wert, der mehr als diese Anzahl von Bits benötigt, nicht genau darstellen. Der Datentyp float hat eine Genauigkeit von 24 Bits. Dies entspricht nur etwa 7 Dezimalstellen.
Welcher Teil einer Gleitkommazahl bestimmt die Genauigkeit?
Eine Gleitkommazahl besteht aus zwei Teilen, der Mantisse und dem Exponenten. Die Mantisse bestimmt die Genauigkeit einer Zahl. Je mehr Bits der Mantisse zugewiesen werden, desto genauer kann eine Zahl sein.
Was meinen Sie mit Genauigkeit bei der Gleitkommadarstellung?
Eine normalisierte Zahl bietet mehr Genauigkeit als eine entsprechende de-normalisierte Zahl. Das implizierte höchstwertige Bit kann verwendet werden, um eine noch genauere signifikante Zahl darzustellen (23 + 1 = 24 Bits), was als subnormale Darstellung bezeichnet wird. Die Gleitkommazahlen müssen in normalisierter Form dargestellt werden.
Was ist das Hauptproblem bei Gleitkommazahlen?
Das Problem
Da reelle Zahlen nicht genau in einem festen Raum dargestellt werden können, kann es bei der Arbeit mit Gleitkommazahlen vorkommen, dass das Ergebnis nicht vollständig mit der erforderlichen Genauigkeit dargestellt werden kann. Diese Ungenauigkeit führt zu einem Informationsverlust.
Wie kann man Fließkommafehler reduzieren?
Eine Methode zur Verringerung hoher Fließkommafehler ist die Verwendung einer höheren Genauigkeit für die Fließkommaberechnung des ursprünglichen Programms. Zum Beispiel kann man eine 32-Bit-Einfachpräzision durch eine 64-Bit-Doppelpräzision ersetzen, um die Genauigkeit der Ergebnisse zu verbessern.
Warum sind Fließkommazahlen in JavaScript ungenau?
Das liegt daran, dass alle Zahlen in JavaScript Gleitkommazahlen mit doppelter Genauigkeit sind, die dem IEEE 754-Standard entsprechen. Dieses Format ermöglicht die Darstellung von Zahlen im ungefähren Bereich von 5 x 2^-324 bis 1,79 * 2^308 einschließlich der Brüche.
Wie hoch ist die Genauigkeit einer Gleitkommazahl?
Die Genauigkeit von Fließkommazahlen ist entweder einfach oder doppelt, je nach der Anzahl der Hexadezimalziffern im Bruch. Es gibt folgende Arten von Zahlen: Kleine Ganzzahl (SMALLINT) Eine kleine Ganzzahl ist eine binäre Ganzzahl mit einer Genauigkeit von 15 Bit. Der Bereich der kleinen Ganzzahlen ist -32768 bis +32767.
Was ist die Genauigkeit des Datentyps float?
FLOAT-Datentypen benötigen normalerweise 8 Byte Speicherplatz pro Wert. Die Umwandlung eines FLOAT-Wertes in einen DECIMAL-Wert ergibt eine Genauigkeit von 17 Ziffern.
Warum sind Fließkommazahlen in JavaScript ungenau?
Das liegt daran, dass alle Zahlen in JavaScript Gleitkommazahlen mit doppelter Genauigkeit sind, die dem IEEE 754-Standard entsprechen. Dieses Format ermöglicht die Darstellung von Zahlen im ungefähren Bereich von 5 x 2^-324 bis 1,79 * 2^308 einschließlich der Brüche.
Warum bringen Computer die Fließkommamathematik durcheinander?
Da JavaScript den IEEE 754-Standard für Mathematik verwendet, werden 64-Bit-Gleitkommazahlen verwendet. Dies führt zu Präzisionsfehlern bei Fließkommaberechnungen (Dezimalzahlen), da Computer mit der Basis 2 arbeiten, während Dezimalzahlen zur Basis 10 gehören.
Warum ist float ungenauer als double?
Double ist präziser als Float und kann 64 Bits speichern, das Doppelte der Anzahl der Bits, die Float speichern kann. Double ist präziser und für die Speicherung großer Zahlen ist Double gegenüber Float vorzuziehen. Um zum Beispiel das Jahresgehalt des Geschäftsführers eines Unternehmens zu speichern, ist Double die genauere Wahl.
Recent
- Stereopaar-Bildregistrierung
- SQL Server zu Google Maps
- Extrahieren von Lat/Lng aus Shapefile mit OGR2OGR/GDAL
- Abfrage in Nominatim konstruieren
- In Ogr2OGR: Was ist SRS?
- Identifizierung von Portnummern für ArcGIS Online Basemap?
- Entfernen unerwünschter Regionen aus Kartendaten QGIS
- Warten auf Vector & WFS-Laden
- Hinzufügen von Reisezeit als Impedanz in ArcGIS Network Analyst?
- Auflistung der Gesamtzahl von Features in einem ArcGIS Online Feature-Pop-up
- Kriterien für die kartographische Kapazität
- Große Rasterdatei in QGIS kacheln
- QGIS-Tin-Verbindung funktioniert nicht
- QGIS-Projekt mit qgis2web exportieren