C 库 - fesetenv() 函数



C 的fenvfesetenv()函数指定包含舍入或控制模式的浮点环境。在我们需要更改浮点值的情况下,它在很多场景中都很有用。

语法

以下是fesetenv()函数的 C 库语法。

fesetenv(const fenv_t *envp);

参数

此函数仅接受一个参数:

  • fenv_t:它接收一个指向 fenv_t 对象的指针,该对象包含要恢复的状态。

返回值

此函数返回一个整数值,其值为:

  • 零,如果程序正常工作。

  • 非零,如果无法设置环境。

示例 1

以下是 C 库函数,用于演示fesetenv()函数。

#include <stdio.h>
#include <fenv.h>

int main() {
    fenv_t env;
    fegetenv(&env); 
    
    // Perform some floating-point operations here
    fesetenv(&env); 
    
    // Restore the saved environment
    printf("Environment restored.\n");
    return 0;
}

输出

以上代码产生以下结果:

Environment restored.

示例 2

下面的程序说明了使用FE_DFL_ENV的浮点环境的默认行为。

#include <stdio.h>
#include <fenv.h>

int main() {
   // Set default environment, clearing all exceptions
   fesetenv(FE_DFL_ENV); 
   printf("Default environment set, all exceptions cleared.\n");
   return 0;
}

输出

执行以上代码后,我们得到以下结果:

Default environment set, all exceptions cleared.
c_library_fenv_h.htm
广告