【发布时间】:2012-05-09 03:18:01
【问题描述】:
忽略我为什么要这样做,754 IEEE fp 标准没有定义以下行为:
float h = NAN;
printf("%x %d\n", (int)h, (int)h);
Gives: 80000000 -2147483648
基本上,无论我给出什么 NAN 值,它都会输出 80000000(十六进制)或 -2147483648(十进制)。这是否有原因和/或这是正确的行为?如果有,怎么会?
我给它不同的 NaN 值的方式在这里: How can I manually set the bit value of a float that equates to NaN?
所以基本上,是否存在 NaN 的有效负载会影响演员表输出的情况?
谢谢!
【问题讨论】:
-
+1 因为黑客可以更好地理解
标签: c floating-point nan