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) |
将双精度浮点值的内存内容重新解释为整数值 |