fesetexceptflag
在目前的浮點環境中設定指定的浮點狀態旗標。
語法
int fesetexceptflag(
const fexcept_t *pstatus,
int excepts
);
參數
pstatus
fexcept_t
物件的指標,其中包含要設定例外狀況狀態旗標的值。 物件可能由先前對 fegetexceptflag
的呼叫所設定。
excepts
要設定的浮點例外狀況狀態旗標。
傳回值
如果成功設定所有指定的例外狀況狀態旗標,則傳回 0。 否則,它會傳回非零值。
備註
fesetexceptflag
函式會將 excepts
指定的浮點例外狀況狀態旗標的狀態,設成 pstatus
指向的 fexcept_t
物件的對應值。 它不會引發例外狀況。 pstatus
指標必須指向有效的 fexcept_t
物件,否則不定義後續行為。 函 fesetexceptflag
式支援 中的 excepts
這些例外狀況巨集值,定義於 <fenv.h>:
例外狀況巨集 | 描述 |
---|---|
FE_DIVBYZERO |
在稍早的浮點運算中發生的獨一性或極錯誤,已建立無限大值。 |
FE_INEXACT |
函式已強制四捨五入稍早的浮點運算預存結果。 |
FE_INVALID |
在稍早的浮點運算中發生的網域錯誤。 |
FE_OVERFLOW |
發生範圍錯誤,稍早的浮點運算結果太大,無法表示。 |
FE_UNDERFLOW |
稍早的浮點運算結果太小,無法以完整精確度表示;已建立 denormal 值。 |
FE_ALL_EXCEPT |
所有受支援浮點例外狀況的位元 OR。 |
excepts
引數可以是零、受支援的浮點例外狀況巨集之一,或兩個或以上巨集的位元 OR。 未定義任何其他 引數值的效果。
若要使用此函式,您必須在呼叫之前使用 #pragma fenv_access(on)
指示詞,以關閉可能會妨礙存取的浮點最佳化作業。 如需詳細資訊,請參閱fenv_access
。
需求
函式 | C 標頭 | C++ 標頭 |
---|---|---|
fesetexceptflag |
<fenv.h> | <cfenv> |
如需相容性詳細資訊,請參閱相容性。