Compartir a través de


FloatingPointNumerics Clase

Definición

Rutinas auxiliares para trabajar con números de punto flotante

public class FloatingPointNumerics
type FloatingPointNumerics = class
Herencia
FloatingPointNumerics

Comentarios

El código de comparación de punto flotante se basa en este excelente artículo: https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm

"ULP" significa Unidad en el último lugar y en el contexto de esta biblioteca hace referencia a la distancia entre dos números de punto flotante adyacentes. Los números de punto flotante IEEE solo pueden representar un subconjunto finito de números naturales, con mayor precisión para números más pequeños y una menor precisión para números muy grandes.

Si se permite una comparación "2 ulps" de desviación, significa que los valores se pueden desviar hasta 2 valores de punto flotante adyacentes, que pueden ser tan bajos como 0,0000001 para números pequeños o tan altos como 10,0 para números grandes.

Métodos

AreAlmostEqualUlps(Double, Double, Int64)

Compara dos valores de punto flotante de precisión doble para la igualdad

AreAlmostEqualUlps(Single, Single, Int32)

Compara dos valores de punto flotante para la igualdad

ReinterpretAsDouble(Int64)

Reinterpreta el contenido de memoria de un valor entero como un valor de punto flotante de precisión doble.

ReinterpretAsFloat(Int32)

Reinterpreta el contenido de memoria de un entero como un valor de punto flotante.

ReinterpretAsInt(Single)

Reinterpreta el contenido de memoria de un valor de punto flotante como un valor entero.

ReinterpretAsLong(Double)

Reinterpreta el contenido de memoria de un valor de punto flotante de precisión doble como un valor entero.

Se aplica a