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); длинный длинный 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 возвращает то же значение, что и ввод. Поэтому на практике он обычно не используется для целочисленных значений.

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