Freigeben über


FloatingPointNumerics Klasse

Definition

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.

Gilt für: