Tag:

是`x!= x`是一种可以测试NaN的便携方法吗?

在C中,您可以使用isnan(x)测试是否为NaN。 然而,许多地方在线,包括例如这个SO答案说你可以简单地使用x!=x代替。 在任何C规范中x!=x作为保证测试x是NaN的方法吗? 我自己找不到它,我希望我的代码能够与不同的编译器一起工作。

将NAN浮动转换为int的问题

忽略我为什么要这样做,754 IEEE fp标准没有定义以下行为: float h = NAN; printf(“%x %d\n”, (int)h, (int)h); Gives: 80000000 -2147483648 基本上,无论我给出的NAN值是多少,它都输出80000000(hex)或-2147483648(十进制)。 是否有这样的原因和/或这是正确的行为? 如果是这样,怎么回事? 我给它不同的NaN值的方法是: 如何手动设置等于NaN的浮点数的值? 所以基本上,是否存在NaN的有效载荷影响演员阵容输出的情况? 谢谢!

C中的NaN Literal?

你如何在C中编写NaN浮点字面值?

如何在c中生成NaN浮子?

float f = (float)’a’; if(f 0){ } else{ printf(“NaN\n”); } 如果它是NaN则f不会大于/等于/小于0 。 但是如何在第一时间产生这样的f ? 我尝试了各种方法来生产NaN ,但没有一种方法可行。

除以零 – c编程

我对下一个代码有疑问: int main { double x = 0; double y = 0/x; if(y==1) {…..} …. …. return 0; } 当我在我的计算机上运行代码时,我没有得到运行时错误,我看到y = -nan(0x8000000000000) 。 为什么不将运行时错误除以零? 另外,当我将第一行更改为int x = 0; 现在有一个运行时错误。 有什么不同?