gpt4 book ai didi

floating-point - 为什么我们需要 IEEE 754 余数?

转载 作者:行者123 更新时间:2023-12-04 06:51:13 26 4
gpt4 key购买 nike

我刚看完 this topic (尤其是最后的评论)。

然后我想知道,为什么我们实际上需要这是给出余数。但似乎之前“在谷歌”上的人并不多......

最佳答案

如果你正在寻找你想要它的原因,一个是所谓的“范围减少”

假设您想要 sind以度为单位计算参数正弦的函数。一种天真的方法是

sind(x) = sin(x*pi/180) 

然而 pi这里不是真正的无理数 pi ,而是最接近 pi 的浮点数.这会导致诸如 sind(180) == 1.2246467991473532e-16 之类的事情,以及诸如 this 之类的问题和 this (还有很多很多)。

但是正弦是一个周期函数,所以如果我们计算
remainder(x,90.0)

我们在区间 [-45,45] 上得到一个值。请注意,0、90、180、270 等正好变成 0,并乘以 pi/180仍然是 0。因此采用适当签名的 sincos ,我们可以得到这些值的准确结果(如果你做一些基本的误差分析,你可以证明它也减少了其他值的误差)。

两个跟进点:
  • 你如何确定哪个sincos使用?嗯,就是这样 remquo 是为了。
  • 不幸的是,这仍然不会给 sind(30.0) == 0.5正是由于中间舍入的变幻莫测。有办法解决这个问题,例如看什么Julia library does .
  • 关于floating-point - 为什么我们需要 IEEE 754 余数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671975/

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