Computer >> Máy Tính >  >> Lập trình >> C ++

lrint () và llrint () trong C ++

Trong phần này, chúng ta sẽ thấy lrint () và llring () trong C ++. Đầu tiên, chúng ta hãy thảo luận về lrint ().

Hàm lrint () được sử dụng để làm tròn giá trị đã cho của phân số trong đối số thành giá trị tích phân bằng cách sử dụng chế độ làm tròn hiện tại. Chế độ hiện tại được xác định bằng cách sử dụng fesetround ().> =

Hàm lrint () này nhận giá trị kép hoặc float hoặc số nguyên làm tham số đầu vào và trả về giá trị int dài bằng cách làm tròn phần phân số thành phần tích phân.

Ví dụ

#include <cfenv>
#include <cmath>
#include <iostream>
using namespace std;
main() {
   int x = 40;
   long int res;
   fesetround(FE_DOWNWARD); // setting rounding direction to DOWNWARD as downward
   res = lrint(x);
   cout << "Downward rounding of " << x << " is " << res << endl;
}

Đầu ra

Downward rounding of 40.0235 is 40

Hàm llrint () được sử dụng để làm tròn giá trị đã cho của phân số trong đối số thành giá trị tích phân bằng cách sử dụng chế độ làm tròn hiện tại. Chế độ hiện tại được xác định bằng cách sử dụng fesetround ().

Hàm lrint () này nhận giá trị kép hoặc float hoặc số nguyên làm tham số đầu vào và trả về giá trị int dài dài bằng cách làm tròn phần phân số thành phần tích phân.

Ví dụ

#include <cfenv>
#include <cmath>
#include <iostream>
using namespace std;
main(){
   double a;
   long int res;
   fesetround(FE_UPWARD); //set rounding direction to upward
   a = 40.3;
   res = llrint(a);
   cout << "Upward rounding of " << a << " is " << res << endl;
   fesetround(FE_DOWNWARD); //set rounding direction to downward
   a = 40.88;
   res = llrint(a);
   cout << "Downward rounding of " << a << " is " << res << endl;
}

Đầu ra

Upward rounding of 40.3 is 41
Downward rounding of 40.88 is 40