?
Ce document utilise Manuel du site Web PHP chinois Libérer
浮點(diǎn)環(huán)境是實(shí)現(xiàn)支持的一組浮點(diǎn)狀態(tài)標(biāo)志和控制模式。它是線程本地的,每個(gè)線程都從父線程繼承其浮點(diǎn)環(huán)境的初始狀態(tài)。浮點(diǎn)操作修改浮點(diǎn)狀態(tài)標(biāo)志以指示異常結(jié)果或輔助信息。浮點(diǎn)控制模式的狀態(tài)會(huì)影響某些浮點(diǎn)運(yùn)算的結(jié)果。
只有當(dāng)#pragma STDC FENV_ACCESS設(shè)置為ON時(shí),浮點(diǎn)環(huán)境訪問(wèn)和修改才有意義。 否則,實(shí)現(xiàn)可以自由地假定浮點(diǎn)控制模式總是默認(rèn)的,并且浮點(diǎn)狀態(tài)標(biāo)志從不被測(cè)試或修改。 實(shí)際上,目前很少有編譯器(如HP aCC,Oracle Studio和IBM XL)明確支持#pragma,但大多數(shù)編譯器都允許有意義地訪問(wèn)浮點(diǎn)環(huán)境。
| 在頭文件<fenv.h>中定義 |
|:----|
| fenv_t | 表示整個(gè)浮點(diǎn)環(huán)境|的類型
| fexcept_t | 表示所有浮點(diǎn)狀態(tài)標(biāo)志的類型統(tǒng)稱為|
feclearexcept(C99) | 清除指定的浮點(diǎn)狀態(tài)標(biāo)志(函數(shù)) |
---|---|
fetestexcept(C99) | 確定哪個(gè)指定的浮點(diǎn)狀態(tài)標(biāo)志被設(shè)置(功能) |
feraiseexcept(C99) | 引發(fā)指定的浮點(diǎn)異常(函數(shù)) |
fegetexceptflagfesetexceptflag(C99)(C99) | 將指定的浮點(diǎn)狀態(tài)標(biāo)志的狀態(tài)從浮點(diǎn)環(huán)境(函數(shù))復(fù)制到浮點(diǎn)環(huán)境 |
fegetroundfesetround(C99)(C99) | 獲取或設(shè)置舍入方向(功能) |
fegetenvfesetenv(C99) | 保存或恢復(fù)當(dāng)前的浮點(diǎn)環(huán)境(功能) |
feholdexcept(C99) | 保存環(huán)境,清除所有狀態(tài)標(biāo)志并忽略所有將來(lái)的錯(cuò)誤(功能) |
feupdateenv(C99) | 恢復(fù)浮點(diǎn)環(huán)境并引發(fā)以前引發(fā)的異常(函數(shù)) |
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標(biāo)準(zhǔn)(ISO / IEC 9899:2011):
7.6浮點(diǎn)環(huán)境<fenv.h>(p:206-215)
7.31.4浮點(diǎn)環(huán)境<fenv.h>(p:455)
C99標(biāo)準(zhǔn)(ISO / IEC 9899:1999):
7.6浮點(diǎn)環(huán)境<fenv.h>(p:187-196)
| 用于浮點(diǎn)環(huán)境的C ++文檔 |
|:----|