命名空間
變體
動作

FLT_EVAL_METHOD

出自 cppreference.com
< c‎ | types‎ | limits
定義於標頭檔 <float.h>
#define FLT_EVAL_METHOD /* 實作定義 */
(自 C99 起)

指定浮點數常數以及除賦值、強制轉型和函式呼叫之外的所有運算(運算子、運算元的隱含轉換)所得浮點數值的範圍與精度。

數值 說明
負值(-1 除外) 實作定義的行為
-1 預設精度未知
0 所有運算與常數皆以所用型別的範圍與精度進行評估。此外,float_tdouble_t 分別等同於 floatdouble
1 所有運算與常數皆以 double 的範圍與精度進行評估。此外,float_tdouble_t 皆等同於 double
2 所有運算與常數皆以 long double 的範圍與精度進行評估。此外,float_tdouble_t 皆等同於 long double

[編輯] 備註

無論 FLT_EVAL_METHOD 的值為何,任何浮點運算式都可能被「收縮」(contracted),亦即在計算時,如同所有中間結果都具有無限的範圍與精度(除非 #pragma STDC FP_CONTRACT 為關閉狀態)。

強制轉型與賦值會去除任何額外的範圍與精度:這模擬了將值從擴充精度 FPU 暫存器存入標準大小記憶體位置的動作。

[編輯] 參見

最有效率的浮點型別,寬度至少與 float 相同
(typedef) [編輯]
最有效率的浮點型別,寬度至少與 double 相同
(typedef) [編輯]
C++ 文件 關於 FLT_EVAL_METHOD 的說明
English Deutsch 日本語 中文(简体) 中文(繁體)