<cfenv>

FE_UNDERFLOW

int
下溢范围错误异常
该宏展开为一个 int 类型的值,用于标识因下溢范围错误而引发的浮点异常

当运算结果的量级(无论是正数还是负数)过小,无法用其返回类型的值来表示时,就会发生下溢范围错误

发生下溢的运算会返回一个未指定的值,其量级不大于最小的规格化正数。

一个操作是否会引发此异常是实现定义的:没有操作被强制要求必须引发此异常,但某个实现可以选择这样做。

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

另见