C参考手册
数值 | Numerics
Floating-point environment
浮点环境是实现支持的一组浮点状态标志和控制模式。它是线程本地的,每个线程都从父线程继承其浮点环境的初始状态。浮点操作修改浮点状态标志以指示异常结果或辅助信息。浮点控制模式的状态会影响某些浮点运算的结果。
只有当#pragma STDC FENV_ACCESS设置为ON时,浮点环境访问和修改才有意义。 否则,实现可以自由地假定浮点控制模式总是默认的,并且浮点状态标志从不被测试或修改。 实际上,目前很少有编译器(如HP aCC,Oracle Studio和IBM XL)明确支持#pragma,但大多数编译器都允许有意义地访问浮点环境。
类型
| 在头文件<fenv.h>中定义 |
|:----|
| fenv_t | 表示整个浮点环境|的类型
| fexcept_t | 表示所有浮点状态标志的类型统称为|
功能
| feclearexcept(C99) | 清除指定的浮点状态标志(函数) | 
|---|---|
| fetestexcept(C99) | 确定哪个指定的浮点状态标志被设置(功能) | 
| feraiseexcept(C99) | 引发指定的浮点异常(函数) | 
| fegetexceptflagfesetexceptflag(C99)(C99) | 将指定的浮点状态标志的状态从浮点环境(函数)复制到浮点环境 | 
| fegetroundfesetround(C99)(C99) | 获取或设置舍入方向(功能) | 
| fegetenvfesetenv(C99) | 保存或恢复当前的浮点环境(功能) | 
| feholdexcept(C99) | 保存环境,清除所有状态标志并忽略所有将来的错误(功能) | 
| feupdateenv(C99) | 恢复浮点环境并引发以前引发的异常(函数) | 
宏
| 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标准(ISO / IEC 9899:2011): - 7.6浮点环境<fenv.h>(p:206-215)
- 7.31.4浮点环境<fenv.h>(p:455)
 
- C99标准(ISO / IEC 9899:1999): - 7.6浮点环境<fenv.h>(p:187-196)
 
扩展内容
| 用于浮点环境的C ++文档 |
|:----|
 
         
                                 加载中,请稍侯......
 加载中,请稍侯......