我在Linux上使用Ubuntu Lucid Lynx获得了g ++ 4.4.3,我得到了一个:
-NAN
结果是.在Hardy Heron上使用g ++ 4.3.1,我得到了所有
楠
这导致我的文本diff回归失败,因为我使用cout来打印这个数值结果.
签名nan的含义是什么,有没有办法告诉编译器无符号的nan是否足够?
基于"IEEE"规范:"当输入或结果是NaN时,该标准不解释NaN的符号." 然而,printf版画NaN值签署:nan或-nan
(?从SPEC)有人点我的一套规则时nan,当-nan印刷例如,我检查了printf(-1.0f)打印-nan
谢谢
我观察到以下Javascript行为:
> Math.pow(4, 2)
16
> Math.pow(4, 2.1)
18.37917367995256
> Math.pow(4, 0.5)
2
> Math.pow(-4, 2)
16
> Math.pow(-4, 2.1)
NaN
> Math.pow(-4, 0.5)
NaN
Run Code Online (Sandbox Code Playgroud)
为什么给出一个负数和一个非整数但有理数的数字会让人Math.pow回归NaN?
例如,为什么Math.pow(4, 0.5)是不是 NaN,但Math.pow(4, -0.5) 就是 NaN?
计算期间我的程序可以生成nan或-nan值.我检查值是否是nan/ -nanusing isnan方法.
我还必须区分纳米值是正还是负(nan或-nan).我怎样才能做到这一点?
补充:我需要WIN和Unix/Linux的跨平台解决方案