c - 如何在 gcc 中检查 quiet NaN?

标签 c gcc floating-point nan

我知道 if(value==value) 可以解决问题,但在我的应用程序中我有 50 多个变量需要检查,检查每个变量有点乏味而且可能效率低下。理想情况下,我正在寻找的是在子程序结束之前我可以调用一个函数(如果存在这样的函数)并且它将返回 1 或 0。我有一种感觉,因为在汇编中存在这样一个可以检查全局 float 的函数点状态寄存器。 如果情况并非如此,那么是否有比为每个浮点变量轮询 value==value 更好的方法?

最佳答案

您可以使用 isnanfpclassify。两者都是 C99 中的标准。

至于你的问题,如果你的变量都在一些公共(public)地方声明,我会写一个小工具把这些声明变成一串 isnan 调用。

关于c - 如何在 gcc 中检查 quiet NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723004/

相关文章:

c - 初始化结构

c - errno 是线程安全的吗?

c - 是否有可能找到不适合 %.6g 的 float

Python Numpy : np. int32 "slower"比 np.float64

c++ - CUDA tex1Dfetch() 错误行为

将 int 与 double 数组进行比较

c - 未定义对另一个库函数的引用

c - 用C语言从M68k ram地址中获取特定字节

python - python中的负零

c - 具有内在函数和汇编的嵌入式广播