0

有没有可能计算两个带有 7 个小数位的数字的和或减法的最大误差?

例如:

a=#.#######
b=#.#######
a+/-b = #.####### + / - epsilon

a 和 b 是随机数。如果abequal to zeroor ,我需要一个 if-case 方程equal to 1' <>epsilon。我想如果我 math.ceil 'a' 和 math.floor b 我得到最大的错误。但它不起作用。

似乎错误总是与1.#####...E-6. 它可以得到数学证明吗?

4

1 回答 1

0

谈论 IEEE 754:可能的错误(间隙)取决于您的浮点数据类型(即浮点或双精度),更重要的是还取决于您的数字与零的距离。(非均匀分辨率)

假设您想解决一些编程问题:通常,您不使用简单的相等比较器而是在比较中定义域特定的 epsilon 来处理此问题:

// if(a == b)
if(Math.abs(a-b) < epsilon)
{
  ...
}
于 2013-04-27T14:08:30.960 回答