浮點環境
出自 cppreference.com
浮點環境是實作所支援的浮點狀態旗標與控制模式的集合。它是執行緒區域(thread-local)的,每個執行緒會從父執行緒繼承其浮點環境的初始狀態。浮點運算會修改浮點狀態旗標,以指示異常結果或輔助資訊。浮點控制模式的狀態會影響某些浮點運算的結果。
唯有在 #pragma STDC FENV_ACCESS 設定為 ON 時,存取與修改浮點環境才有意義。否則,實作可以自由地假設浮點控制模式始終為預設狀態,且浮點狀態旗標絕不會被測試或修改。實際上,很少有現今的編譯器(如 HP aCC、Oracle Studio 和 IBM XL)明確支援此 #pragma,但大多數編譯器無論如何都允許對浮點環境進行有意義的存取。
目錄 |
[編輯] 類型
| 定義於標頭檔
<fenv.h> | |
| fenv_t | 代表整個浮點環境的類型 |
| fexcept_t | 代表所有浮點狀態旗標集合的類型 |
[編輯] 函式
| (C99) |
清除指定的浮點狀態旗標 (函式) |
| (C99) |
判斷指定的浮點狀態旗標中哪一個被設定 (函式) |
| (C99) |
引發指定的浮點異常 (函式) |
| (C99)(C99) |
從浮點環境複製或將狀態複製到浮點環境的指定浮點狀態旗標 (函式) |
| (C99)(C99) |
取得或設定捨入方向 (函式) |
| (C99) |
儲存或還原當前的浮點環境 (函式) |
| (C99) |
儲存環境、清除所有狀態旗標並忽略所有未來錯誤 (函式) |
| (C99) |
恢復浮點環境並引發先前引發的異常 (函式) |
[編輯] 巨集
| 浮點異常 (巨集常數) | |
| 浮點捨入方向 (巨集常數) | |
| (C99) |
預設浮點環境 (巨集常數) |
[編輯] 參考資料
- C23 標準 (ISO/IEC 9899:2024)
- 7.6 浮點環境 <fenv.h> (頁數:待填)
- 7.31.4 浮點環境 <fenv.h> (頁數:待填)
- C17 標準 (ISO/IEC 9899:2018)
- 7.6 浮點環境 <fenv.h> (頁數:150-156)
- 7.31.4 浮點環境 <fenv.h> (頁數:332)
- C11 標準 (ISO/IEC 9899:2011)
- 7.6 浮點環境 <fenv.h> (頁數:206-215)
- 7.31.4 浮點環境 <fenv.h> (頁數:455)
- C99 標準 (ISO/IEC 9899:1999)
- 7.6 浮點環境 <fenv.h> (頁數:187-196)
[編輯] 參見
| C++ 文件 關於 浮點環境
|