Partager via


FloatingPointNumerics Classe

Définition

Routines d’assistance pour l’utilisation de nombres à virgule flottante

public class FloatingPointNumerics
type FloatingPointNumerics = class
Héritage
FloatingPointNumerics

Remarques

Le code de comparaison à virgule flottante est basé sur cet excellent article : https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm

« ULP » signifie Unité au dernier emplacement et, dans le contexte de cette bibliothèque, fait référence à la distance entre deux nombres à virgule flottante adjacents. Les nombres à virgule flottante IEEE ne peuvent représenter qu’un sous-ensemble fini de nombres naturels, avec une plus grande précision pour les nombres plus petits et une précision inférieure pour les très grands nombres.

Si une comparaison est autorisée « 2 ulps » d’écart, cela signifie que les valeurs sont autorisées à dévier de jusqu’à 2 valeurs à virgule flottante adjacentes, ce qui peut être aussi bas que 0,00000001 pour les petits nombres ou jusqu’à 10,0 pour les grands nombres.

Méthodes

AreAlmostEqualUlps(Double, Double, Int64)

Compare deux valeurs à virgule flottante double précision pour l’égalité

AreAlmostEqualUlps(Single, Single, Int32)

Compare deux valeurs à virgule flottante pour l’égalité

ReinterpretAsDouble(Int64)

Réinterpréte le contenu de la mémoire d’une valeur entière sous la forme d’une valeur à virgule flottante double précision

ReinterpretAsFloat(Int32)

Réinterpréte le contenu de la mémoire d’un entier en tant que valeur à virgule flottante

ReinterpretAsInt(Single)

Réinterpréte le contenu de la mémoire d’une valeur à virgule flottante en tant que valeur entière

ReinterpretAsLong(Double)

Réinterpréte le contenu de la mémoire d’une valeur à virgule flottante de double précision sous la forme d’une valeur entière

S’applique à