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

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

La función nearint () 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(). La función nearint () es similar a rint (), excepto que no genera excepciones FE_INEXACT como rint ().

Una excepción FE_INEXACT es una excepción de punto flotante que se produce cuando el resultado de una operación no se representa exactamente debido al redondeo o al subdesbordamiento gradual.

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

double nearint (doble x); flotar cercaint (flotar x); long double nearint (long double x); doble cercanaint (T x); // Para tipo integral

La función nearint () toma un solo argumento y devuelve un valor de tipo double, float o long double. Esta función se define en el archivo de encabezado.

Parámetros cercanosint ()

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

nearint () Valor de retorno

La función nearint () redondea el argumento x a un valor integral, utilizando la dirección de redondeo especificada por fegetround () y devuelve el valor. 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 Nearint () 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, result; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(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 (17.87) = 17 Redondeo hacia arriba (33.3401) = 34

Ejemplo 2: función nearint () para tipos integrales

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

Articulos interesantes...