Condividi tramite


FloatingPointNumerics.AreAlmostEqualUlps Metodo

Definizione

Overload

AreAlmostEqualUlps(Double, Double, Int64)

Confronta due valori a virgola mobile e precisione doppia per verificarne l'uguaglianza

AreAlmostEqualUlps(Single, Single, Int32)

Confronta due valori a virgola mobile per verificare l'uguaglianza

AreAlmostEqualUlps(Double, Double, Int64)

Confronta due valori a virgola mobile e precisione doppia per verificarne l'uguaglianza

public static bool AreAlmostEqualUlps(double left, double right, long maxUlps);
static member AreAlmostEqualUlps : double * double * int64 -> bool

Parametri

left
Double

Primo valore a virgola mobile e precisione doppia da confrontare

right
Double

Confronto tra valori a virgola mobile e precisione doppia t

maxUlps
Int64

Numero massimo di valori a virgola mobile a precisione doppia rappresentabili che possono essere compresi tra i valori a virgola mobile e precisione doppia destra

Restituisce

True se entrambi i numeri sono uguali o vicini a essere uguali

Commenti

I valori a virgola mobile a precisione doppia possono rappresentare solo una serie limitata di numeri naturali. Ad esempio, i valori 2.00000000000000000 e 2.0000000000000004 possono essere archiviati in un doppio, ma nulla li inbetween.

Questo confronto consentirà di contare il numero possibile di valori a virgola mobile e precisione doppia compresi tra il numero sinistro e quello destro. Se il numero di valori possibili tra entrambi i numeri è minore o uguale a maxUlps, i numeri vengono considerati uguali.

Si applica a

AreAlmostEqualUlps(Single, Single, Int32)

Confronta due valori a virgola mobile per verificare l'uguaglianza

public static bool AreAlmostEqualUlps(float left, float right, int maxUlps);
static member AreAlmostEqualUlps : single * single * int -> bool

Parametri

left
Single

Primo valore a virgola mobile da confrontare

right
Single

Confronto tra il secondo valore a virgola mobile t

maxUlps
Int32

Numero massimo di valori a virgola mobile rappresentabili che possono essere compresi tra i valori a virgola mobile sinistra e destra

Restituisce

True se entrambi i numeri sono uguali o vicini a essere uguali

Commenti

I valori a virgola mobile possono rappresentare solo un subset finito di numeri naturali. Ad esempio, i valori 2.000000000 e 2.00000024 possono essere archiviati in un float, ma nulla li trae.

Questo confronto consentirà di contare il numero di valori a virgola mobile possibili tra il numero a sinistra e quello destro. Se il numero di valori possibili tra entrambi i numeri è minore o uguale a maxUlps, i numeri vengono considerati uguali.

Si applica a