C ++ llrint () - C ++ стандартна библиотека

Функцията 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 (дълъг двоен x); long long 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 връща същата стойност като входа. Така че на практика не се използва често за интегрални стойности.

Интересни статии...