浮点环境
来自 cppreference.com
浮点环境是实现支持的浮点状态标志和控制模式的集合。它是线程本地化的,每个线程从父线程继承其浮点环境的初始状态。浮点运算会修改浮点状态标志以指示异常结果或辅助信息。浮点控制模式的状态会影响某些浮点运算的结果。
只有当 #pragma STDC FENV_ACCESS 设置为 ON
时,浮点环境的访问和修改才有意义。否则,实现可以自由地假定浮点控制模式始终是默认模式,并且浮点状态标志永远不会被测试或修改。在实践中,很少有当前编译器(例如 HP aCC、Oracle Studio 和 IBM XL)明确支持 #pragma,但大多数编译器仍允许对浮点环境进行有意义的访问。
内容 |
[编辑] 类型
定义在头文件
<fenv.h> 中 | |
fenv_t | 表示整个浮点环境的类型 |
fexcept_t | 表示所有浮点状态标志的集合的类型 |
[编辑] 函数
(C99) |
清除指定的浮点状态标志 (函数) |
(C99) |
确定哪些指定的浮点状态标志已设置 (函数) |
(C99) |
引发指定的浮点异常 (函数) |
(C99)(C99) |
从浮点环境复制或向浮点环境复制指定的浮点状态标志的状态 (函数) |
(C99)(C99) |
获取或设置舍入方向 (函数) |
(C99) |
保存或恢复当前浮点环境 (函数) |
(C99) |
保存环境,清除所有状态标志并忽略所有未来错误 (函数) |
(C99) |
恢复浮点环境并引发之前引发的异常 (函数) |
[编辑] 宏
浮点异常 (宏常量) | |
浮点舍入方向 (宏常量) | |
(C99) |
默认浮点环境 (宏常量) |
[编辑] 参考文献
- C23 标准 (ISO/IEC 9899:2024)
- 7.6 浮点环境 <fenv.h> (p: TBD)
- 7.31.4 浮点环境 <fenv.h> (p: TBD)
- C17 标准 (ISO/IEC 9899:2018)
- 7.6 浮点环境 <fenv.h> (p: 150-156)
- 7.31.4 浮点环境 <fenv.h> (p: 332)
- 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++ 文档 用于 浮点环境
|