Функція llrint () в C ++ округлює аргумент до інтегрального значення, використовуючи поточний режим округлення.
Функція llrint () в C ++ округлює аргумент до інтегрального значення, використовуючи поточний режим округлення.
Поточний режим округлення визначається функцією fesetround()
. Це схоже на lrint (), але повертає long long int замість long int.
прототип llrint () (За стандартом C ++ 11)
long long int llrint (подвійний x); long long int llrint (float x); long long int llrint (long double x); довгий довгий int llrint (T x); // Для цілісного типу
Функція llrint () приймає один аргумент і повертає значення типу long long int. Ця функція визначена у файлі заголовка.
Параметри llrint ()
Функція llrint () приймає значення одного аргументу для округлення.
llrint () Повернене значення
Функція llrint () округлює аргумент x до інтегрального значення, використовуючи напрямок округлення, вказаний fegetround()
і повертає значення в long long int
.
За замовчуванням для напрямку округлення встановлено значення 'to-nearest'
.
Напрямок округлення можна встановити на інші значення за допомогою fesetround()
функції.
Приклад 1: Як llrint () працює в 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; )
Коли ви запускаєте програму, результат буде:
Округлення до найближчого (11,87) = 12 Округлення до найближчого (11,5) = 12 Округлення вниз (11,8699) = 11 Округлення вгору (33,3201) = 34
Приклад 2: Функція llrint () для інтегральних типів
#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; )
Коли ви запускаєте програму, результат буде:
Округлення вниз (15) = 15
Для інтегральних значень застосування функції llrint повертає те саме значення, що і вхідні дані. Тому на практиці він не використовується для інтегральних величин.