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

La función fesetround () en C ++ intenta establecer la dirección de redondeo de punto flotante especificado que se espera que sea una de las macros de redondeo de punto flotante.

La función fesetround () se define en el archivo de encabezado.

prototipo de fesetround ()

 int fesetround (int ronda);

Esta función toma una sola ronda de argumento, que es una de las macros de redondeo de punto flotante. A continuación, intenta establecer round como dirección de redondeo de punto flotante.

Parámetros de fesetround ()

  • round: Dirección de redondeo que es una de las macros de redondeo de coma flotante. Los valores posibles para la ronda son FE_TONEAREST, FE_DOWNWARD, FE_UPWARD, FE_TOWARDZERO.

fesetround () Valor de retorno

  • Si tiene éxito, la función fesetround () devuelve 0.
  • Si falla, devuelve un valor distinto de cero.

Ejemplo: ¿Cómo funciona la función fesetround ()?

 #include #include #include #pragma STDC FENV_ACCESS ON using namespace std; void print_current_rounding_direction() ( cout << "Current rounding method: "; switch (fegetround()) ( case FE_TONEAREST: cout << "FE_TONEAREST"; break; case FE_DOWNWARD: cout << "FE_DOWNWARD"; break; case FE_UPWARD: cout << "FE_UPWARD"; break; case FE_TOWARDZERO: cout << "FE_TOWARDZERO"; break; default: cout << "unknown"; ); cout << endl; ) int main() ( print_current_rounding_direction(); cout < " << rint(6.2) << endl; cout < " << rint(18.7) << endl; fesetround(FE_UPWARD); print_current_rounding_direction(); cout < " << rint(6.2) << endl; cout < " << rint(19.7) << endl; fesetround(FE_DOWNWARD); print_current_rounding_direction(); cout < " << rint(6.2) << endl; cout < " << rint(19.7) << endl; return 0; )

Cuando ejecute el programa, la salida será:

 Método de redondeo actual: FE_TONEAREST 6.2 -> 6 18.7 -> 19 Método de redondeo actual: FE_UPWARD 6.2 -> 7 19.7 -> 20 Método de redondeo actual: FE_DOWNWARD 6.2 -> 6 19.7 -> 19

Articulos interesantes...