问题标签 [inexact-arithmetic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
263 浏览

scheme - 精确/不精确的结果,例如 sqrt 和整数根

R6RS 3.4 实施要求如下

...当应用于精确参数时,可能不精确的操作sqrt应该尽可能产生精确的答案(例如,精确 4 的平方根应该是精确 2)。

(1) 这是否意味着(* 0 2.2)必须产生0.0但从不0作为结果?

但是,这不是必需的。...

(2) 这是否意味着也(/ 4 2)可能产生2.0作为结果?

(3) 是否有以这种方式提供整数根的实现?一般来说,我如何获得整数平方根的功能?(这里是索引)(请不要递归/迭代实现)

0 投票
1 回答
196 浏览

perl - 是否可以预测 Perl 的十进制/浮点数学何时会出错?

一方面,我理解 Perl 的浮点数是不精确的二进制表示,这导致 Perl 的数学有时是错误的。我不明白的是,为什么有时这些花车似乎给出了准确的答案,而其他时候却没有。 是否可以预测 Perl 的浮点数学何时会给出错误(即不准确的答案)?

例如,在下面的代码中,当减法为“16.12 - 15.13”时,Perl 的数学错误 1 ​​次,当问题为“26.12 - 25.13”时错误 2 次,当问题为“36.12 - 35.13”时错误 20 次. 此外,出于某种原因,在所有上述测试用例中,我们的减法问题(即 $subtraction_problem)的结果一开始是错误的,但随着我们从中添加或减去的越多(使用$x)。这是没有意义的,为什么我们在算术问题中添加或减去的越多,值就越有可能是正确的(即精确的)?

0 投票
4 回答
34947 浏览

python - 比较熊猫列中的浮点数

我有以下数据框:

我需要添加一列,指示实际信用> = min_required_credit 的位置。结果将是:

我正在执行以下操作:

然而,第 3 行(0.4 和 0.4)不断导致 False。在各个地方研究了这个问题之后,包括:在 Python 中比较浮点数的最佳方法是什么?我仍然无法让它工作。每当两列具有相同的值时,结果为 False,这是不正确的。

我正在使用 python 3.3

0 投票
1 回答
327 浏览

r - 加减法后的浮点数小于等于比较

在一系列浮点算术运算之后,是否存在与浮点数进行小于等于比较的“最佳实践”?

我在 R 中有以下示例(尽管该问题适用于任何使用浮点的语言)。我有一个双倍x = 1,我在上面应用了一系列加法和减法。最后x应该是一个,但不是由于浮点运算(据我收集)。这是示例:

一个(天真的?)解决方案是在不等式的右侧添加一些任意小的正数,如下所示

这是“最佳实践”吗?如果是,是否有关于如何选择的指南 some_arbitrary_factor

我的具体问题是,我有时间段(t_0, t_1], (t_1, t_2], ...,需要找出给定观察x的时间段。在经历了一系列浮点算术运算后,x可能已经将边界设置为一个边界,这应该导致精确运算在哪里执行。t_it_i

0 投票
0 回答
55 浏览

c - 引发 FE_INEXACT 后执行的典型用户定义逻辑是什么?

我或多或少地理解/想象执行的典型用户定义逻辑:

  • FE_OVERFLOWor之后FE_UNDERFLOW:不是关键情况:尝试通过例如调整一些值/系数并重做计算来恢复;
  • FE_INVALIDor之后FE_DIVBYZERO引发:严重情况:停止机器或重新启动机器。

但是,什么是典型的用户定义的逻辑是在FE_INEXACT引发之后执行的?有什么例子、经验、最佳实践吗?

额外:在演讲«超越浮点:下一代计算机算术»约翰L.古斯塔夫森提供以下意见(第5页):

“不精确”标志是无用的

对此意见有何评论/意见?