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

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

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

Виняток FE_INEXACT - це виняток з плаваючою комою, який виникає, коли результат операції не представлений точно через округлення або поступове недоповнення.

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

подвійний nearbyint (подвійний x); float nearbyint (float x); довгий подвійний nearbyint (довгий подвійний x); подвійний nearbyint (T x); // Для цілісного типу

Функція nearbyint () приймає один аргумент і повертає значення типу double, float або long double type. Ця функція визначена у файлі заголовка.

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

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

nearbyint () Повертається значення

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

Приклад 1: Як функція nearbyint () працює в 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, result; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

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

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

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

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

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

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

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

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