FLT_EVAL_METHOD
來自 cppreference.com
定義於標頭檔案 <float.h> |
||
#define FLT_EVAL_METHOD /* 由實現定義 */ |
(C99 起) | |
指定從浮點常量和所有操作(運算子、運算元的隱式轉換)中獲得的浮點值的範圍和精度,除了賦值、型別轉換和庫函式呼叫。
值 | 解釋 |
負值,除了 -1 | 由實現定義的行為 |
-1 | 預設精度未知 |
0 | 所有操作和常量都在所用型別的範圍和精度內進行評估。此外,float_t 和 double_t 分別等效於 float 和 double |
1 | 所有操作和常量都在 double 的範圍和精度內進行評估。此外,float_t 和 double_t 都等效於 double |
2 | 所有操作和常量都在 long double 的範圍和精度內進行評估。此外,float_t 和 double_t 都等效於 long double |
[編輯] 注意
無論 FLT_EVAL_METHOD 的值如何,任何浮點表示式都可能被收縮,即,計算時如同所有中間結果都具有無限範圍和精度(除非 #pragma STDC FP_CONTRACT 為關閉)。
型別轉換和賦值會剝離任何多餘的範圍和精度:這模擬了將擴充套件精度FPU暫存器中的值儲存到標準大小記憶體位置的操作。
[編輯] 另請參閱
(C99) |
至少與 float 一樣寬的最有效浮點型別 (型別定義) |
(C99) |
至少與 double 一樣寬的最有效浮點型別 (型別定義) |
C++ 文件 關於 FLT_EVAL_METHOD
|