📅  最后修改于: 2023-12-03 14:59:44.830000             🧑  作者: Mango
fegetround()
是C++的一个函数,用于获取当前的浮点数舍入模式。该函数参考当前的舍入模式,并将其作为返回值,以保持一致性。
int fegetround(void);
该函数无需参数。
该函数返回当前浮点数的舍入模式,在以下值中的一个:
FE_DOWNWARD
:向下舍入FE_TOWARDZERO
:朝零舍入FE_UPWARD
:向上舍入FE_TONEAREST
:四舍五入如果无法获得舍入模式,则该函数将返回0。
下面的代码片段展示了如何使用fegetround()
获得当前的浮点数舍入模式:
#include <iostream>
#include <cfenv>
int main()
{
int mode = fegetround();
switch (mode)
{
case FE_DOWNWARD:
std::cout << "Rounding Mode: FE_DOWNWARD" << std::endl;
break;
case FE_TOWARDZERO:
std::cout << "Rounding Mode: FE_TOWARDZERO" << std::endl;
break;
case FE_UPWARD:
std::cout << "Rounding Mode: FE_UPWARD" << std::endl;
break;
case FE_TONEAREST:
std::cout << "Rounding Mode: FE_TONEAREST" << std::endl;
break;
default:
std::cout << "Unable to determine rounding mode" << std::endl;
break;
}
return 0;
}
该程序将打印当前的浮点数舍入模式,例如:
Rounding Mode: FE_TONEAREST
使用fegetround()
函数时,需要包含头文件<cfenv>
。
使用该函数时,应尽量保持一致性,避免混合使用多种舍入模式。