【发布时间】:2011-04-21 22:10:26
【问题描述】:
可以对 float... 或 MinValue 提出相同的问题。
我正在考虑将其用作特殊值。我会因为精度而看到错误吗?我不希望对这些数字进行算术运算,只需设置它们即可。
澄清:我将其用作哨兵值。
它是在 C# 规范中描述的吗?
【问题讨论】:
-
我知道这是基于浮点数比较理论的其他人的副本。我说如果双精度大于 MaxValue 那么它会溢出,所以除非你正在测试看看你是否即将溢出,那么我认为测试到一个安全的精度极限会更好。跨度>
-
您能否为您的问题添加更多详细信息?我不明白你想比较什么。
-
@Roflcoptr:添加了一些细节。
-
FWIW,有一种情况是我以这种方式使用 MaxValue/MinValue。频繁地。当找到一个集合的最小值时,我从 MaxValue 开始。所以我不需要额外的垃圾来启动 min-finder,也不需要额外的循环测试。
float minA = float.MaxValue; foreach (float a ...) if (a < minA){ minA = a; ... }当我需要跟踪与as 相关联的 other 值时,我会这样做。
标签: c# .net cls-compliant