FLT_EVAL_METHOD
來自 cppreference.com
| 定義於標頭檔案 <cfloat> |
||
| #define FLT_EVAL_METHOD /* 由實現定義 */ |
(C++11 起) | |
指定除賦值和型別轉換之外,所有浮點算術運算的精度。
| 值 | 解釋 |
| 負值,除了 -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 暫存器中的值儲存到標準大小記憶體位置的操作。
[編輯] 參閱
| C 文件 關於 FLT_EVAL_METHOD
|