C ++ lrint () - Thư viện chuẩn C ++

Hàm lrint () trong C ++ làm tròn đố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.

Hàm lrint () trong C ++ làm tròn đố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ế độ làm tròn hiện tại được xác định bởi hàm fesetround(). Nó tương tự như rint (), nhưng trả về long int.

nguyên mẫu lrint () (Theo tiêu chuẩn C ++ 11)

long int lrint (double x); long int lrint (float x); long int lrint (dài gấp đôi x); long int lrint (T x); // Đối với kiểu tích phân

Hàm lrint () nhận một đối số và trả về một giá trị kiểu long int. Hàm này được định nghĩa trong tệp tiêu đề.

Tham số lrint ()

Hàm lrint () nhận một giá trị đối số để làm tròn.

lrint () Giá trị trả về

Hàm lrint () làm tròn đối số x thành một giá trị tích phân, sử dụng hướng làm tròn được chỉ định bởi fegetround () và trả về giá trị trong long int.

Theo mặc định, hướng làm tròn được đặt thành 'đến gần nhất'. Hướng làm tròn có thể được đặt thành các giá trị khác bằng cách sử dụng hàm fesetround ().

Ví dụ 1: Làm thế nào lrint () hoạt động trong C ++?

 #include #include #include 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; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Làm tròn đến gần nhất (11,87) = 12 Làm tròn đến gần nhất (11,5) = 12 Làm tròn xuống (11,8699) = 11 Làm tròn lên (33,3201) = 34

Ví dụ 2: Hàm lrint () cho các kiểu tích phân

 #include #include #include 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; ) 

Khi bạn chạy chương trình, đầu ra sẽ là:

 Làm tròn xuống (15) = 15 

Đối với các giá trị tích phân, việc áp dụng hàm lrint trả về cùng giá trị với giá trị đầu vào. Vì vậy nó không được sử dụng phổ biến cho các giá trị tích phân trong thực tế.

thú vị bài viết...