我需要得到-nan
只使用double
类型和算术。如何在C++ 14上获得-nan?
所以,代码应该是这样的:
double a = ...
cout << a << endl;
-nan
其中...
是一些表达。
我需要得到-nan
只使用double
类型和算术。如何在C++ 14上获得-nan?
所以,代码应该是这样的:
double a = ...
cout << a << endl;
-nan
其中...
是一些表达。
如果您的平台使用IEEE754浮点数,则0.0/0.0
将评估为NaN。
或者,您可以使用std::numeric_limits<double>::quiet_NaN()
,在您的平台上检查std::numeric_limits<double>::has_quiet_NaN
是true
。
真的没有这样的事,作为一个签署NaN
,虽然NaN
表示可能包含一个标志位,它可以由std::cout
被拾起。也许在您的平台上-0.0/0.0
生成“负面”NaN
。对于a
为NaN
的情况,cout << a
的结果完全依赖于编译器。
为了得到一个负楠,单处或者具有0x80000000的NaN的表示。你必须把这个地址转换成一个无符号的char *或long long *,或者当然。
“需要”。这是一项功课要求吗? –