c++ - 如何不出错地除以零

标签 c++ compiler-errors floating-point nan

我需要获取 float NaN 和无穷大,但我不能使用这样的构造

0. / 0.
1. / 0.

因为它会导致编译时间

error C2124: divide or mod by zero

编辑,很高兴知道在哪里可以得到这个数字(每个数字 +1),但是是否可以除以零?

最佳答案

您可以简单地返回一个 NaN 或一个无穷大,例如:

return std::numeric_limits<float>::quiet_NaN();

return std::numeric_limits<float>::infinity();

参见 std::numeric_limits , 来自标题 <limits> .

关于c++ - 如何不出错地除以零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001417/

相关文章:

python - 无法使用 Python/C API 调用自定义模块

c++ - 如何播种递归 C++ 函数

c++ - 无法将QString转换为Const Char *

javascript - 抑制 typescript 警告

java - 在Java中,如何删除float中的所有0?

c++ - Qt QStandardItem setCheckable(true) 不保存复选框状态

c++ - 在 C++ 中处理多维数组长度

c# - 未初始化变量的不正确编译器错误使用

perl - Perl 5.16.3 和 5.8.7 中的 float 精度差异

assembly - 从x86-64打印 float 似乎需要保存%rbp