C 库 - fesetenv() 函数

❮ C 标准库 - <fenv.h>


C fenv 库中的 fesetenv() 函数用于声明包含舍入或控制模式的浮点环境。该函数在很多需要修改浮点值的场景中非常有用。

语法

以下是 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);
    
    // 在此处执行一些浮点运算
    fesetenv(&env);
    
    // 恢复已保存的环境
    printf("Environment restored.");
    return 0;
}

输出

上述代码产生以下结果 -

Environment restored.

示例 2

以下程序演示了使用 FE_DFL_ENV 的浮点环境的默认行为。

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

int main() {
	// 设置默认环境,清除所有异常
   fesetenv(FE_DFL_ENV); 
   printf("Default environment set, all exceptions cleared.");
   return 0;
}

输出

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

Default environment set, all exceptions cleared.

❮ C 标准库 - <fenv.h>