gpt4 book ai didi

FPE 上的 C++ 返回值

转载 作者:行者123 更新时间:2023-11-30 04:08:33 26 4
gpt4 key购买 nike

背景

我有一个程序有时会因(主要)被零除而抛出浮点异常,尽管已对除以零值进行了检查。这可能与 floating point speculation 有关但我不确定。

我已经使用 feenableexcept/SIGFPE 实现了 FPE 的处理程序但这只会让我的程序停止运行,这比在整个数据中传播 NaN 要好。

我找到了这个 old page其中谈到了浮点陷阱,并且似乎暗示这种陷阱是导致返回 NaNInf-Inf 的默认行为的原因除以零。这让我开始思考。

问题

是否有可能以某种方式让被零除总是返回值 0.0? (有人可能想知道这个的有效性,但在我的情况下这是可取的)

详情

我在 linux 上使用英特尔编译器版本 13.0.0(gcc 版本 4.4.7 兼容性)。

最佳答案

您如何实现自己的功能来满足您不寻常的划分要求?

template <typename T> T mydiv(T lhs, T rhs)
{
return (0 == rhs ? lhs : lhs/rhs);
}

关于FPE 上的 C++ 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777133/

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