C++ 中的llrint() 函數使用當前舍入模式將參數舍入為整數值。
C++ 中的llrint() 函數使用當前舍入模式將參數舍入為整數值。
當前舍入模式由函數 fesetround()
確定。它類似於 lrint() ,但返回 long long int 而不是 long int.
llrint() 原型 [從 C++ 11 標準開始]
long long int llrint(double x); long long int llrint(float x); long long int llrint(long double x); long long int llrint(T x); // For integral type
llrint() 函數采用單個參數並返回 long long int. 該函數在 <cmath> 頭文件中定義。
參數:
llrint() 函數采用單個參數值進行舍入。
返回:
llrint() 函數使用 fegetround()
指定的舍入方向將參數 x 舍入為整數值,並返回 long long int
中的值。
默認情況下,舍入方向設置為 'to-nearest'
。
可以使用fesetround()
函數將舍入方向設置為其他值。
示例 1:llrint() 如何在 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 long int result;
result = llrint(x);
cout << "Rounding to-nearest (" << x << ") = " << result << endl;
// mid-way values are rounded off to higher integer
x = 11.5;
result = llrint(x);
cout << "Rounding to-nearest (" << x << ") = " << result << endl;
// setting rounding direction to DOWNWARD
fesetround(FE_DOWNWARD);
x = 11.87;
result = llrint(x);
cout << "Rounding downward (" << x << ") = " << result << endl;
// setting rounding direction to UPWARD
fesetround(FE_UPWARD);
x = 33.32;
result = llrint(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:用於整數類型的 llrint() 函數
#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;
int main()
{
int x = 15;
long long int result;
// setting rounding direction to DOWNWARD
fesetround(FE_DOWNWARD);
result = llrint(x);
cout << "Rounding downward (" << x << ") = " << result << endl;
return 0;
}
運行程序時,輸出將是:
Rounding downward (15) = 15
對於整數值,應用 llrint 函數返回與輸入相同的值。所以在實踐中它並不常用於整數值。
相關用法
- C++ llround()用法及代碼示例
- C++ lldiv()用法及代碼示例
- C++ llabs()用法及代碼示例
- C++ list assign()用法及代碼示例
- C++ log2()用法及代碼示例
- C++ list front()用法及代碼示例
- C++ list::remove()、list::remove_if()用法及代碼示例
- C++ lrint() and llrint()用法及代碼示例
- 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++ llrint()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。