gpt4 book ai didi

javascript - 是否有可能确定特定算术运算是否导致溢出

转载 作者:行者123 更新时间:2023-11-29 10:38:27 26 4
gpt4 key购买 nike

我觉得这可能是不可能的,但如果有人有任何想法,那将有很大帮助。对于任何浮点算术运算,是否有可能确定该运算导致了精度损失。例如,如果我计算 z = x/y,我想确定 z 是否具有准确的值,或者在操作过程中是否丢失了一些精度。

为什么我需要这个:我正在使用区间算术做一些数学运算。如果结果不精确,我需要返回一个范围,其中精确结果位于 [a,b] 的形式。目前,对于每项操作,我都假设精度损失。如果结果是 x,我返回 [previousClosestFPNumber(x), nextClosestFPNumber(x)]。这完美无缺。然而,对于非常复杂的方程,范围变得太大。如果我能确定精度已经丢失,那么我只能在这种情况下扩大范围。

最佳答案

如果您在 f(x) 操作中丢失了精度,那么应该可以通过对结果应用逆操作并查看是否返回原始值以外的值来检测它:用数学术语来说,f'(f(x)) != x

例如,像这样的东西:

x = y * z
y2 = x / z
if y != y2: precision was lost

如果结果证明这不合适,您可能需要考虑一个您不会失去精度的 bignum 库,例如 javascript-bignum (尽管我确定周围也会有其他人)。

关于javascript - 是否有可能确定特定算术运算是否导致溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33094125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com