gpt4 book ai didi

c++ - 除零以外的任何数字都会得到-1.#IND

转载 作者:太空狗 更新时间:2023-10-29 20:58:21 24 4
gpt4 key购买 nike

假设我正在评估 a/b,其中 ab 都是浮点类型。

如果 b 为零,则答案为 -1.#IND。

是否有任何其他 b(和 a)值会给我 -1.#IND,或者正在检查非零 b 足以避免得到这个结果吗?

可能不相关,但我正在用 C++ 编写代码。

最佳答案

从 C++11 开始,您可以自信地执行计算,使用类似的东西

std::isnan(x = a/b);

在 C++11 之前,您可能会通过将结果与自身进行比较而逃脱,

bool is_nan(double x)
{
return x != x;
}

但如果您的编译器不使用 IEEE float (C++ 标准不坚持这一点),那可能会失败。如果在启用浮点优化的情况下进行编译,它也可能会失败。

关于c++ - 除零以外的任何数字都会得到-1.#IND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27842676/

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