当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 feclearexcept用法及代码示例


C语言fenv头文件(fenv.h)中feclearexcept函数的用法及代码示例。

用法:

int feclearexcept (int excepts);
清除浮点异常
尝试清除由指定的浮点异常excepts

调用此函数的程序应确保编译指示FENV_ACCESS已启用该调用。

参数

excepts
位掩码值:任意数量的组合(按位或)浮点异常实现支持的值:
宏值描述
FE_DIVBYZERO极点错误:除以零或其他一些渐近无限结果(来自有限参数)。
FE_INEXACT不精确:结果不准确。
FE_INVALID域错误:参数中的至少一个是未为其定义函数的值。
FE_OVERFLOW溢出范围错误:结果的大小太大,无法表示为返回类型的值。
FE_UNDERFLOW下溢范围错误:结果的大小太小而无法表示为返回类型的值。
FE_ALL_EXCEPT所有异常(选择实现支持的所有异常)。
某些库实现可能支持其他浮点异常值(其对应的宏也以FE_)。

返回值

零,如果所有异常都在excepts已成功清除(或者excepts是零)。
否则为非零值。

示例

/* feclearexcept, fetestexcept example */
#include <stdio.h>      /* printf */
#include <math.h>       /* sqrt */
#include <fenv.h>       /* feclearexcept, fetestexcept, FE_ALL_EXCEPT, FE_INVALID */
#pragma STDC FENV_ACCESS on

int main ()
{
  feclearexcept (FE_ALL_EXCEPT);
  sqrt(-1);
  if (fetestexcept(FE_INVALID)) printf ("sqrt(-1) raises FE_INVALID\n");
  return 0;
}


可能的输出:

sqrt(-1) raises FE_INVALID



相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C feclearexcept function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。