相关疑难解决方法(0)

Double.Epsilon表示相等,大于,小于,小于或等于,大于或等于

http://msdn.microsoft.com/en-us/library/system.double.epsilon.aspx

如果创建一个自定义算法来确定是否可以将两个浮点数视为相等,则必须使用大于Epsilon常量的值来确定两个值相等的可接受的绝对差值.(通常,差异幅度比Epsilon大很多倍.)

那么这不是真正可以用于比较的ε吗?我真的不明白MSDN的措辞.

它可以在这里的示例中用作epsilon吗?- 浮动和双重比较最有效的方法是什么?

最后这看起来非常重要,所以我想确保我有一个可靠的实现平等,大于,小于,小于或等于,大于或等于.

c# epsilon

52
推荐指数
5
解决办法
5万
查看次数

如何以最小增量(或接近它)改变浮点数?

我有一个double价值f,并想要一个稍微大一点(或更小)的方法来获得一个新的值,该值尽可能接近原始值但仍严格大于(或小于)原始值.

它不必靠近最后一位 - 更重要的是,我所做的任何改变都能保证产生不同的值,而不是回到原始值.

c c++ floating-point

47
推荐指数
3
解决办法
7691
查看次数

在值下方找到浮点数

假设我有一个浮点数X.我想找到小于X的最大数字,并且可以无损地存储在浮点数中.

IIRC IEEE标准说你可以通过将float的位转换为int表示,减去1,然后转换回float来实现.

(编辑:对于不是NaN或inf的正数,这是正确的.对于负数,您必须添加.有关更多信息,请参阅Rawling的答案.)

要在表示之间进行更改,我只知道C#的(强制转换)运算符,它会截断.那不是我想要的.

有没有办法在C#中做到这一点?

c# floating-point

8
推荐指数
1
解决办法
1230
查看次数

标签 统计

c# ×2

floating-point ×2

c ×1

c++ ×1

epsilon ×1