C ++ lrint () - Biblioteca estándar de C ++

La función lrint () en C ++ redondea el argumento a un valor integral usando el modo de redondeo actual.

La función lrint () 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 rint (), pero devuelve long int.

Prototipo lrint () (A partir del estándar C ++ 11)

long int lrint (doble x); long int lrint (flotar x); long int lrint (long doble x); long int lrint (T x); // Para tipo integral

La función lrint () toma un solo argumento y devuelve un valor de tipo long int. Esta función se define en el archivo de encabezado.

Parámetros de lrint ()

La función lrint () toma un solo valor de argumento para redondear.

lrint () Valor de retorno

La función lrint () redondea el argumento x a un valor integral, utilizando la dirección de redondeo especificada por fegetround () y devuelve el valor en long int.

De forma predeterminada, la dirección de redondeo se establece en 'al más cercano'. La dirección de redondeo se puede establecer en otros valores utilizando la función fesetround ().

Ejemplo 1: ¿Cómo funciona lrint () 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 int result; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = lrint(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 lrint () para tipos integrales

 #include #include #include using namespace std; int main() ( int x = 15; long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = lrint(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 lrint devuelve el mismo valor que la entrada. Por lo tanto, en la práctica no se usa comúnmente para valores integrales.

Articulos interesantes...