对一段代码进行一些优化,代码的正确性取决于编译器如何处理NaNs。
我阅读了IEEE-754关于NaN的规则,其中规定:
当其中一个操作数或两个操作数都是NaN时,比较EQ、GT、GE、LT和LE返回FALSE。
当其中一个操作数或两个操作数为NaN时,比较NE返回TRUE。
上述规则是否在C/C++中强制执行?