问题标签 [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.
scheme - 精确/不精确的结果,例如 sqrt 和整数根
...当应用于精确参数时,可能不精确的操作
sqrt
应该尽可能产生精确的答案(例如,精确 4 的平方根应该是精确 2)。
(1) 这是否意味着(* 0 2.2)
必须产生0.0
但从不0
作为结果?
但是,这不是必需的。...
(2) 这是否意味着也(/ 4 2)
可能产生2.0作为结果?
(3) 是否有以这种方式提供整数根的实现?一般来说,我如何获得整数平方根的功能?(这里是索引)(请不要递归/迭代实现)
perl - 是否可以预测 Perl 的十进制/浮点数学何时会出错?
一方面,我理解 Perl 的浮点数是不精确的二进制表示,这导致 Perl 的数学有时是错误的。我不明白的是,为什么有时这些花车似乎给出了准确的答案,而其他时候却没有。 是否可以预测 Perl 的浮点数学何时会给出错误(即不准确的答案)?
例如,在下面的代码中,当减法为“16.12 - 15.13”时,Perl 的数学错误 1 次,当问题为“26.12 - 25.13”时错误 2 次,当问题为“36.12 - 35.13”时错误 20 次. 此外,出于某种原因,在所有上述测试用例中,我们的减法问题(即 $subtraction_problem)的结果一开始是错误的,但随着我们从中添加或减去的越多(使用$x)。这是没有意义的,为什么我们在算术问题中添加或减去的越多,值就越有可能是正确的(即精确的)?
python - 比较熊猫列中的浮点数
我有以下数据框:
我需要添加一列,指示实际信用> = min_required_credit 的位置。结果将是:
我正在执行以下操作:
然而,第 3 行(0.4 和 0.4)不断导致 False。在各个地方研究了这个问题之后,包括:在 Python 中比较浮点数的最佳方法是什么?我仍然无法让它工作。每当两列具有相同的值时,结果为 False,这是不正确的。
我正在使用 python 3.3
r - 加减法后的浮点数小于等于比较
在一系列浮点算术运算之后,是否存在与浮点数进行小于等于比较的“最佳实践”?
我在 R 中有以下示例(尽管该问题适用于任何使用浮点的语言)。我有一个双倍x = 1
,我在上面应用了一系列加法和减法。最后x
应该是一个,但不是由于浮点运算(据我收集)。这是示例:
一个(天真的?)解决方案是在不等式的右侧添加一些任意小的正数,如下所示
这是“最佳实践”吗?如果是,是否有关于如何选择的指南 some_arbitrary_factor
?
我的具体问题是,我有时间段(t_0, t_1], (t_1, t_2], ...
,需要找出给定观察x
的时间段。在经历了一系列浮点算术运算后,x
可能已经将边界设置为一个边界,这应该导致精确运算在哪里执行。t_i
t_i
c - 引发 FE_INEXACT 后执行的典型用户定义逻辑是什么?
我或多或少地理解/想象执行的典型用户定义逻辑:
- 在
FE_OVERFLOW
or之后FE_UNDERFLOW
:不是关键情况:尝试通过例如调整一些值/系数并重做计算来恢复; - 在
FE_INVALID
or之后FE_DIVBYZERO
引发:严重情况:停止机器或重新启动机器。
但是,什么是典型的用户定义的逻辑是在FE_INEXACT
引发之后执行的?有什么例子、经验、最佳实践吗?
额外:在演讲«超越浮点:下一代计算机算术»约翰L.古斯塔夫森提供以下意见(第5页):
“不精确”标志是无用的
对此意见有何评论/意见?