C++ 中的lrint() 函数使用当前舍入模式将参数舍入为整数值。
C++ 中的lrint() 函数使用当前舍入模式将参数舍入为整数值。当前舍入模式由函数 fesetround()
确定。它类似于 rint() ,但返回 long int
。
lrint() 原型 [从 C++ 11 标准开始]
long int lrint(double x); long int lrint(float x); long int lrint(long double x); long int lrint(T x); // For integral type
lrint() 函数采用单个参数并返回类型为 long int
的值。该函数在<cmath> 头文件中定义。
参数:
lrint() 函数采用单个参数值进行舍入。
返回:
lrint() 函数使用 fegetround() 指定的舍入方向将参数 x 舍入为整数值,并返回 long int
中的值。
默认情况下,舍入方向设置为'to-nearest'。可以使用fesetround() 函数将舍入方向设置为其他值。
示例 1:lrint() 如何在 C++ 中工作?
#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;
int main()
{
// by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST)
double x = 11.87;
long int result;
result = lrint(x);
cout << "Rounding to-nearest (" << x << ") = " << result << endl;
// mid-way values are rounded off to higher integer
x = 11.5;
result = lrint(x);
cout << "Rounding to-nearest (" << x << ") = " << result << endl;
// setting rounding direction to DOWNWARD
fesetround(FE_DOWNWARD);
x = 11.87;
result = lrint(x);
cout << "Rounding downward (" << x << ") = " << result << endl;
// setting rounding direction to UPWARD
fesetround(FE_UPWARD);
x = 33.32;
result = lrint(x);
cout << "Rounding upward (" << x << ") = " << result << endl;
return 0;
}
运行程序时,输出将是:
Rounding to-nearest (11.87) = 12 Rounding to-nearest (11.5) = 12 Rounding downward (11.8699) = 11 Rounding upward (33.3201) = 34
示例 2:用于整数类型的 lrint() 函数
#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;
int main()
{
int x = 15;
long int result;
// setting rounding direction to DOWNWARD
fesetround(FE_DOWNWARD);
result = lrint(x);
cout << "Rounding downward (" << x << ") = " << result << endl;
return 0;
}
运行程序时,输出将是:
Rounding downward (15) = 15
对于整数值,应用 lrint 函数返回与输入相同的值。所以在实践中它并不常用于整数值。
相关用法
- C++ lrint() and llrint()用法及代码示例
- C++ lround()用法及代码示例
- C++ list assign()用法及代码示例
- C++ llround()用法及代码示例
- C++ log2()用法及代码示例
- C++ list front()用法及代码示例
- C++ list::remove()、list::remove_if()用法及代码示例
- C++ lldiv()用法及代码示例
- C++ list back()用法及代码示例
- C++ list merge()用法及代码示例
- C++ ldiv()用法及代码示例
- C++ list remove()用法及代码示例
- C++ list push_back()用法及代码示例
- C++ list::begin()、list::end()用法及代码示例
- C++ list::operator=用法及代码示例
- C++ list erase()用法及代码示例
- C++ list::empty()、list::size()用法及代码示例
- C++ list resize()用法及代码示例
- C++ list pop_front()用法及代码示例
- C++ list empty()用法及代码示例
注:本文由纯净天空筛选整理自 C++ lrint()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。