FloatingPointNumerics Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Hilfsroutinen für die Arbeit mit Gleitkommazahlen
public class FloatingPointNumerics
type FloatingPointNumerics = class
- Vererbung
-
FloatingPointNumerics
Hinweise
Der Gleitkommavergleichscode basiert auf diesem hervorragenden Artikel: https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
"ULP" bedeutet Einheit am letzten Ort und bezieht sich im Kontext dieser Bibliothek auf den Abstand zwischen zwei angrenzenden Gleitkommazahlen. IEEE-Gleitkommazahlen können nur eine endliche Teilmenge natürlicher Zahlen darstellen, mit einer höheren Genauigkeit für kleinere Zahlen und einer niedrigeren Genauigkeit für sehr große Zahlen.
Wenn ein Vergleich "2 Ulps" der Abweichung zulässig ist, bedeutet dies, dass die Werte um bis zu 2 benachbarte Gleitkommawerte abweichen dürfen, die bei kleinen Zahlen so niedrig wie 0,0000001 oder bei großen Zahlen bis zu 10,0 sein können.
Methoden
AreAlmostEqualUlps(Double, Double, Int64) |
Vergleicht zwei Gleitkommawerte mit doppelter Genauigkeit auf Gleichheit |
AreAlmostEqualUlps(Single, Single, Int32) |
Vergleicht zwei Gleitkommawerte auf Gleichheit |
ReinterpretAsDouble(Int64) |
Interpretiert den Speicherinhalt eines ganzzahligen Werts als Gleitkommawert mit doppelter Genauigkeit neu. |
ReinterpretAsFloat(Int32) |
Interpretiert den Speicherinhalt einer ganzen Zahl als Gleitkommawert neu. |
ReinterpretAsInt(Single) |
Interpretiert den Speicherinhalt eines Gleitkommawerts als ganzzahligen Wert neu. |
ReinterpretAsLong(Double) |
Interpretiert den Speicherinhalt eines Gleitkommawerts mit doppelter Genauigkeit als ganzzahligen Wert neu. |