fegetexceptflag
存储指定的浮点异常标志的当前状态。
语法
int fegetexceptflag(
fexcept_t* pstatus,
int excepts
);
参数
pstatus
指向 fexcept_t
对象以包含由 excepts
指定的异常标志的当前值的指针。
excepts
要在 pstatus
中存储的浮点异常标志。
返回值
如果成功, 返回 0。 否则,返回一个非零值。
注解
fegetexceptflag
函数存储浮点异常状态标志的当前状态(由 pstatus
指向的 fexcept_t
对象中的 excepts
指定)。 pstatus
必须指向有效的 fexcept_t
对象,或未定义后续行为。 fegetexceptflag
函数支持 <fenv.h> 中定义的这些异常宏:
异常宏 | 说明 |
---|---|
FE_DIVBYZERO |
在早期的浮点运算中出现了奇点或极点错误;创建了无限值。 |
FE_INEXACT |
此函数被强制舍入早期浮点运算的存储结果。 |
FE_INVALID |
早期浮点运算中发生域错误。 |
FE_OVERFLOW |
范围出错;早期浮点运算结果过大而无法表示。 |
FE_UNDERFLOW |
早期的浮点运算结果因为过小而无法以完整的精度表示;创建了非常规值。 |
FE_ALL_EXCEPT |
所有受支持的浮点异常的按位 OR。 |
excepts
参数可能为零、一个受支持的浮动点异常宏,或为两个或多个宏的按位 OR。 未定义任何其他 参数值的效果。
若要使用此函数,必须在调用前先使用 #pragma fenv_access(on)
指令关闭可能会阻止访问的浮点优化。 有关详细信息,请参阅 fenv_access
。
要求
函数 | C 标头 | C++ 标头 |
---|---|---|
fegetexceptflag |
<fenv.h> | <cfenv> |
有关兼容性的详细信息,请参阅 兼容性。