gpt4 book ai didi

floating-point - cos(a)的 float 能否等于0

转载 作者:行者123 更新时间:2023-12-04 13:54:18 24 4
gpt4 key购买 nike

鉴于PI/2永远不能精确地用浮点表示,是否可以安全地假设cos(a)永远不能返回精确的零?

如果是这种情况,则以下伪代码将永远不会进入该块(并且可以安全地将其删除):

...
y = h/cos(a);
if (!isfinite(a))
{
// handle infinite y
}

最佳答案

零是可以精确表示的几个值之一。许多系统都有一个查找表,用于查找sin和cos的常用值,因此可以返回精确为零的值并不是不可想象的。

但是在执行除法之前,使用增量比较会更安全:

if (Abs(cos(a)) < 0.0000001)
{

}

关于floating-point - cos(a)的 float 能否等于0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888859/

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