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