La función llrint () en C ++ redondea el argumento a un valor integral usando el modo de redondeo actual.
La función llrint () en C ++ redondea el argumento a un valor integral usando el modo de redondeo actual.
El modo de redondeo actual está determinado por la función fesetround()
. Es similar a lrint (), pero devuelve long long int en lugar de long int.
Prototipo llrint () (A partir del estándar C ++ 11)
long long int llrint (doble x); long long int llrint (flotar x); long long int llrint (x doble larga); int llrint long long (T x); // Para tipo integral
La función llrint () toma un solo argumento y devuelve un valor de tipo long long int. Esta función se define en el archivo de encabezado.
Parámetros de llrint ()
La función llrint () toma un solo valor de argumento para redondear.
llrint () Valor de retorno
La función llrint () redondea el argumento x a un valor integral, utilizando la dirección de redondeo especificada por fegetround()
y devuelve el valor en long long int
.
De forma predeterminada, la dirección de redondeo está establecida en 'to-nearest'
.
La dirección de redondeo se puede establecer en otros valores usando la fesetround()
función.
Ejemplo 1: ¿Cómo funciona llrint () en 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; )
Cuando ejecute el programa, la salida será:
Redondeo al más cercano (11.87) = 12 Redondeo al más cercano (11.5) = 12 Redondeo hacia abajo (11.8699) = 11 Redondeo hacia arriba (33.3201) = 34
Ejemplo 2: función llrint () para tipos integrales
#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; )
Cuando ejecute el programa, la salida será:
Redondeo hacia abajo (15) = 15
Para valores integrales, la aplicación de la función llrint devuelve el mismo valor que la entrada. Por lo tanto, en la práctica no se usa comúnmente para valores integrales.