Fenv.h

fenv.h是C標準函数庫中的头文件，提供了对浮点环境的支持。浮点环境（floating-point environment）是指任何实现支持的浮点状态标志与控制模式。浮点状态标志（floating-point status flag）是一个系统变量，当浮点异常被抛出时该系统变量被置位。浮点控制模式（floating-point
control mode）是一个系统变量，用户可以对其置位，以影响随后的浮点运算行为。

类型
fenv_t  表示整体浮点环境
fexcept_t 表示浮点状态的集合

宏 
表示各种浮点运算异常：
FE_DIVBYZERO
FE_INEXACT
FE_INVALID
FE_OVERFLOW
FE_UNDERFLOW
FE_ALL_EXCEPT
近似舍入方法
FE_DOWNWARD
FE_TONEAREST
FE_TOWARDZERO
FE_UPWARD
缺省浮点环境
FE_DFL_ENV

函数
feclearexcept  清除给定的浮点异常
fegetexceptflag 保存一个浮点状态标志到对象中
feraiseexcept 抛出一个浮点异常
fesetexceptflag 设置一个浮点状态标志到对象中
fetestexcept 测试那些浮点异常标志被置位
fegetround 获取当前近似舍入方法
fesetround 设置近似舍入方法
fegetenv 存储当前浮点环境到对象中
feholdexcept 存储当前浮点环境到对象中，清楚浮点状态标志，安装non-stop模式
fesetenv 从对象存储的浮点环境恢复现场
feupdateenv 保存当前浮点异常，从对象存储的浮点环境恢复现场，再重新抛出当前浮点异常

参考文献

 

V