FloatingPointNumerics Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Routine helper per l'uso dei numeri a virgola mobile
public class FloatingPointNumerics
type FloatingPointNumerics = class
- Ereditarietà
-
FloatingPointNumerics
Commenti
Il codice di confronto a virgola mobile si basa su questo articolo eccellente: https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
"ULP" indica Unità nell'ultimo posto e nel contesto di questa libreria fa riferimento alla distanza tra due numeri a virgola mobile adiacenti. I numeri a virgola mobile IEEE possono rappresentare solo un subset finito di numeri naturali, con maggiore accuratezza per numeri più piccoli e precisione inferiore per numeri molto grandi.
Se un confronto è consentito "2 ulps" di deviazione, ciò significa che i valori possono essere deviati da un massimo di 2 valori a virgola mobile adiacenti, che potrebbero essere pari a 0,0000001 per numeri piccoli o fino a 10,0 per numeri di grandi dimensioni.
Metodi
| AreAlmostEqualUlps(Double, Double, Int64) |
Confronta due valori a virgola mobile a precisione doppia per l'uguaglianza |
| AreAlmostEqualUlps(Single, Single, Int32) |
Confronta due valori a virgola mobile per l'uguaglianza |
| ReinterpretAsDouble(Int64) |
Reinterpreta il contenuto della memoria di un valore integer come valore a virgola mobile a precisione doppia |
| ReinterpretAsFloat(Int32) |
Reinterpreta il contenuto della memoria di un intero come valore a virgola mobile |
| ReinterpretAsInt(Single) |
Reinterpreta il contenuto della memoria di un valore a virgola mobile come valore intero |
| ReinterpretAsLong(Double) |
Reinterpreta il contenuto della memoria di un valore a virgola mobile a precisione doppia come valore intero |