C ++ lrint () - Стандартна бібліотека C ++

Функція lrint () в C ++ округлює аргумент до інтегрального значення, використовуючи поточний режим округлення.

Функція lrint () в C ++ округлює аргумент до інтегрального значення, використовуючи поточний режим округлення. Поточний режим округлення визначається функцією fesetround(). Це схоже на rint (), але повертається long int.

прототип lrint () (за стандартом C ++ 11)

довгий int lrint (подвійний x); довгий int lrint (float x); long int lrint (довгий подвійний х); довга внутрішня лінія (T x); // Для цілісного типу

Функція lrint () приймає один аргумент і повертає значення типу long int. Ця функція визначена у файлі заголовка.

Параметри lrint ()

Функція lrint () приймає значення одного аргументу для округлення.

lrint () Повернене значення

Функція lrint () округлює аргумент x до інтегрального значення, використовуючи напрямок округлення, вказаний fegetround (), і повертає значення в long int.

За замовчуванням для напрямку округлення встановлено значення "до найближчого". Напрямок округлення можна встановити на інші значення за допомогою функції fesetround ().

Приклад 1: Як lrint () працює в 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; )

Коли ви запускаєте програму, результат буде:

 Округлення до найближчого (11,87) = 12 Округлення до найближчого (11,5) = 12 Округлення вниз (11,8699) = 11 Округлення вгору (33,3201) = 34

Приклад 2: функція lrint () для інтегральних типів

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

Коли ви запускаєте програму, результат буде:

 Округлення вниз (15) = 15 

Для інтегральних значень застосування функції lrint повертає те саме значення, що і вхідні дані. Тому на практиці він не використовується для інтегральних величин.

Цікаві статті...