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

Hàm llrint () 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 llrint () 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ư lrint (), nhưng trả về long dài int thay vì long int.

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

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

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

Tham số llrint ()

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

llrint () Giá trị trả về

Hàm llrint () 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 long int.

Theo mặc định, hướng làm tròn được đặt thành 'to-nearest'.

Hướng làm tròn có thể được đặt thành các giá trị khác bằng fesetround()hàm.

Ví dụ 1: Llrint () hoạt động như thế nào 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 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; )

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 llrint () cho các loại tích phân

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

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 llrint 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...