FE_OVERFLOW宏
概要:
#include <fenv.h> #define FE_OVERFLOW value //value值由实现定义,为2的N次方。
描述:
该宏表示上溢异常,该宏会扩展为int类型的常量表达式,其值是2的N次方。如果结果是个绝对值很大的有限值,以至于在没有异常舍入误差的情况下无法使用对象指定的类型表示结果,将发生上溢异常。如果发生上溢异常,并且默认的舍入生效,函数将根据返回类型和正确值的符号返回一个正或者负HUGE_VAL(或者HUGE_VALF或者HUGE_VALL)值。
当且仅当实现通过feclearexcept、fegetexceptflag、feraiseexcept、fesetexcept、fesetexceptflag、fetestexceptflag、fetestexcept函数支持浮点异常时,宏FE_OVERFLOW才会被定义。
十进制浮点运算与ISO/IEC 60559标准中二进制浮点运算访问相同的浮点异常状态标志。
范例:
|
|
输出:
Exceptions: FE_INEXACT FE_OVERFLOW
在这个例子中,exp(1000.0)函数的返回值已经超出了double类型所能表示的范围。
相关内容:
| FE_ALL_EXCEPT | 表示所有异常的宏。 |
| FE_DIVBYZERO | 表示除以0异常的宏。 |
| FE_INEXACT | 表示不精确结果异常的宏。 |
| FE_INVALID | 表示无效操作异常的宏。 |
| FE_UNDERFLOW | 表示下溢异常的宏。 |
主要参考资料: