154得票3回答
Python中的numpy机器精度

我想了解什么是机器精度。根据维基百科,它可以计算如下:def machineEpsilon(func=float): machine_epsilon = func(1) while func(1)+func(machine_epsilon) != func(1): ...

91得票5回答
Python中epsilon的取值

在Python中有标准的epsilon值(或获取方法)吗?我需要比较浮点数值,并希望与最小可能差异进行比较。 在C++中,提供了一个函数numeric_limits::epsilon(),可以给出任何给定数据类型的epsilon值。Python中是否有等价的函数?

62得票9回答
Double.Epsilon用于相等、大于、小于、小于或等于、大于或等于的比较。

http://msdn.microsoft.com/en-us/library/system.double.epsilon.aspx 如果您创建了一个自定义算法来确定两个浮点数是否可以被视为相等,那么您必须使用大于 Epsilon 常量的值来建立可接受的绝对差距范围以使这两个值被视为相等...

52得票3回答
C# Decimal.Epsilon

为什么Decimal数据类型没有Epsilon字段? 来自手册, decimal值的范围是±1.0 × 10e−28到±7.9 × 10e28。 关于Double.Epsilon的描述: 表示大于零的最小正Double值 所以看起来,Decimal也有这样一个(非平凡的)值。但为什...

32得票2回答
.NET Math.Log10() 在不同机器上的行为不同。

我发现运行Math.Log10(double.Epsilon) 在机器A上将返回约为-324,但在机器B上将返回-Infinity。 它们最初的行为相同,都返回-324。 两台机器最初使用相同的操作系统(WinXP SP3)和.NET版本(3.5 SP1)。机器B可能有Windows更新...

29得票3回答
获取下一个最小的双精度浮点数。

在单元测试中,我需要测试一些边界条件。一个方法接受一个 System.Double 参数。 有没有办法获取 比当前值略小 的双精度浮点数?(即将尾数减少1个单位值)? 我考虑使用 Double.Epsilon,但是这种方法不可靠,因为它只是从零开始的最小增量,所以对于更大的值(即 9999...

24得票3回答
比1小的浮点类型所能表示的最大值

有没有一种方法可以获取浮点类型 float 中小于 1 的最大可表示值。 我已经看到以下定义: static const double DoubleOneMinusEpsilon = 0x1.fffffffffffffp-1; static const float FloatOneMinu...

22得票4回答
为什么将double.epsilon加到一个值上会导致相同的值,完全相等?

我有一个单元测试,测试边界:[TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void CreateExtent_InvalidTop_ShouldThrowArgumentOutOfRan...

22得票2回答
在浮点计算中,“epsilon”是否真的保证了任何东西?

为了简化问题,假设我想在 float 上计算表达式 a / (b - c)。 为了确保结果有意义,我可以检查是否 b 和 c 相等:float EPS = std::numeric_limits<float>::epsilon(); if ((b - c) > EPS || ...

20得票3回答
Java: 双精度机器ε不是满足1+x!=1的最小x吗?

我正在尝试确定Java中的机器epsilon,与C/C++一样,使用定义为最小可表示的double值x的1.0 + x != 1.0。根据维基百科,这个机器epsilon等于2^-52(其中52是double尾数位数-1)。 我的实现使用Math.ulp()函数: double eps =...