Floating-point environment (Numerics) – C 中文開發手冊 - Break易站
阿新 • • 發佈:2020-07-13
[
C 語言中文開發手冊
Floating-point environment (Numerics) - C 中文開發手冊
浮點環境是實現支援的一組浮點狀態標誌和控制模式。它是執行緒本地的,每個執行緒都從父執行緒繼承其浮點環境的初始狀態。浮點操作修改浮點狀態標誌以指示異常結果或輔助資訊。浮點控制模式的狀態會影響某些浮點運算的結果。只有當#pragma STDC FENV_ACCESS設定為ON時,浮點環境訪問和修改才有意義。 否則,實現可以自由地假定浮點控制模式總是預設的,並且浮點狀態標誌從不被測試或修改。 實際上,目前很少有編譯器(如HP aCC,Oracle Studio和IBM XL)明確支援#pragma,但大多數編譯器都允許有意義地訪問浮點環境。
型別
| 在標頭檔案<fenv.h>中定義 ||:----|| fenv_t | 表示整個浮點環境|的型別| fexcept_t | 表示所有浮點狀態標誌的型別統稱為|
功能
feclearexcept(C99) | 清除指定的浮點狀態標誌(函式) |
---|---|
fetestexcept(C99) | 確定哪個指定的浮點狀態標誌被設定(功能) |
feraiseexcept(C99) | 引發指定的浮點異常(函式) |
fegetexceptflagfesetexceptflag(C99)(C99) | 將指定的浮點狀態標誌的狀態從浮點環境(函式)複製到浮點環境 |
fegetroundfesetround(C99)(C99) | 獲取或設定舍入方向(功能) |
fegetenvfesetenv(C99) | 儲存或恢復當前的浮點環境(功能) |
feholdexcept(C99) | 儲存環境,清除所有狀態標誌並忽略所有將來的錯誤(功能) |
feupdateenv(C99) | 恢復浮點環境並引發以前引發的異常(函式) |
巨集
FE_ALL_EXCEPTFE_DIVBYZEROFE_INEXACTFE_INVALIDFE_OVERFLOWFE_UNDERFLOW (C99) | floating-point exceptions (macro constant) |
---|---|
FE_DOWNWARDFE_TONEARESTFE_TOWARDZEROFE_UPWARD (C99) | floating-point rounding direction (macro constant) |
FE_DFL_ENV (C99) | default floating-point environment (macro constant) |
參考
C11標準(ISO / IEC 9899:2011): 7.6浮點環境<fenv.h>(p:206-215) 7.31.4浮點環境<fenv.h>(p:455) C99標準(ISO / IEC 9899:1999): 7.6浮點環境<fenv.h>(p:187-196)
擴充套件內容
| 用於浮點環境的C ++文件 ||:----|
C 語言中文開發手冊 ]