我需要得到-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 *,或者當然。
「需要」。這是一項功課要求嗎? –