<cfenv>

FE_INEXACT

int
结果不精确异常
此宏展开为一个 int 类型的值,用于标识因结果不精确而引发的浮点异常

当操作的返回类型无法以精确的精度表示结果时(例如在大多数实现中的 1.0/3.0sqrt(2.0)),或者当函数由于其他原因无法产生精确结果时,会引发不精确异常以作提示。

它被定义为一个恰好是 2 的幂次的值,允许多个浮点异常(使用按位或运算符:|)组合成一个单一的值。
宏值描述
FE_DIVBYZERO极点错误:除以零,或一些其他渐近无穷大的结果(由有限参数产生)。
FE_INEXACT不精确:结果不精确。
FE_INVALID定义域错误:至少有一个参数是函数未定义的值。
FE_OVERFLOW上溢范围错误:结果的量级太大,无法表示为返回类型的值。
FE_UNDERFLOW下溢范围错误:结果的量级太小,无法表示为返回类型的值。
FE_ALL_EXCEPT所有异常(选择实现支持的所有异常)。
某些库实现可能支持额外的浮点异常值(其对应的宏也以 FE_ 开头)。
库可能仅在 <fenv.h> 中定义它们支持的上述宏值(其他宏可能未定义)。
至少所有上述宏值都在 <cfenv> 中有定义(即使实现不支持)。

另见