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