C Standard Library 简明教程

C Library - <fenv.h>

fenv.h 头文件是标准 C 库的一部分,定义了用于操纵浮点环境的各种函数和宏。它允许我们控制与浮点算法相关的方面,如异常处理和舍入模式。

The fenv.h header file is part of the standard C library, defines various functions and macros for manipulating the floating-point environment. It allows us to control aspects related to floating-point arithmetic, like exception handling and rounding modes.

C − fenv.h Types

以下是 fenv.h 头文件中定义的类型 −

Following are the types defined in the header fenv.h −

Sr.No.

Types & Description

1

fenv_t This type represents the entire floating-point environment.

2

fexcept_t This type represents all floating-point status flags collectively.

Library Functions

以下是 fenv.h 头文件中定义的函数 −

Following are the functions defined in the header fenv.h −

Sr.No.

Function & Description

1

int feclearexcept( int excepts )This function clears the specified floating-point status flags.

2

int fetestexcept( int excepts )This function determines which of the specified floating-point status flags are set.

3

int feraiseexcept(int excepts)This function raises the specified floating-point exceptions.

4

int fegetexceptflag( fexcept_t* flagp, int excepts )This function retrieves the full contents of the floating-point exception flags.

5

int fesetexceptflag(const fexcept_t *flagp, int excepts)This function sets the contents of the floating-point exception flags.

6

int fegetround()This function retrieves the rounding direction.

7

int fesetround( int round )This function sets the rounding direction.

8

int fegetenv( fenv_t* envp )This function attempts to store the status of the floating-point environment in the object pointed to by envp.

9

int fesetenv( const fenv_t* envp )This function attempts to establish the floating-point environment from the object pointed to by envp.

10

int feholdexcept( fenv_t* envp )This function saves the environment, clears all status flags and ignores all future errors.

11

int feupdateenv( const fenv_t* envp )This function restores the floating-point environment and raises the previously raise exceptions.