FloatingPointNumerics 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用浮點數的協助程式常式
public class FloatingPointNumerics
type FloatingPointNumerics = class
- 繼承
-
FloatingPointNumerics
備註
浮點比較程式碼是以這個絕佳的文章為基礎: https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
「ULP」 表示上一個位置中的單位,而在此程式庫的內容中則是指兩個相鄰浮點數之間的距離。 IEEE 浮點數只能代表有限的自然數位子集,而較小數位的精確度更高,且非常大型數位的精確度較低。
如果允許「2 ulps」偏差的比較,這表示允許值被最多 2 個連續的浮點值變差,這可能小於小數位的 0.0000001,或大於 10.0。
方法
AreAlmostEqualUlps(Double, Double, Int64) |
比較兩個雙精確度浮點數是否相等 |
AreAlmostEqualUlps(Single, Single, Int32) |
比較兩個浮點數是否相等 |
ReinterpretAsDouble(Int64) |
將整數值的記憶體內容重新解譯為雙精確度浮點值 |
ReinterpretAsFloat(Int32) |
將整數的記憶體內容重新解譯為浮點值 |
ReinterpretAsInt(Single) |
將浮點值的記憶體內容重新解譯為整數值 |
ReinterpretAsLong(Double) |
將雙精確度浮點值的記憶體內容重新解譯為整數值 |