📅  最后修改于: 2023-12-03 14:59:35.886000             🧑  作者: Mango
fegetenv()
是C/C++数学库中的一个函数,用于获取在数学环境中设置的浮点环境。它返回一个表示浮点环境的结构体fenv_t
,其中包含控制、状态和轮询位。它是IEEE 754标准中浮点环境的一部分。
#include <fenv.h>
int fegetenv(fenv_t *envp);
envp
:指向浮点环境的指针。errno
设置相关)。fegetenv()
函数会将当前设置的浮点环境拷贝到envp
指向的结构体中。这个结构体fenv_t
包含了浮点状态信息和控制、状态和轮询位。如果成功,fegetenv()
函数将返回0。
#include <stdio.h>
#include <fenv.h>
#pragma STDC FENV_ACCESS ON
int main()
{
// 判断系统是否支持浮点数内存访问
#ifdef FE_DFL_ENV
printf("FE_DFL_ENV is defined\n");
#else
printf("NO FE_DFL_ENV\n");
#endif
fenv_t env;
// 获取浮点环境
if (fegetenv(&env) != 0) {
printf("fegetenv error\n");
return -1;
}
// 在此处处理浮点数操作...
// 恢复浮点环境
if (fesetenv(&env) != 0) {
printf("fesetenv error\n");
return -1;
}
return 0;
}