FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD
De cppreference.com
![]() |
Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate.
La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
Definido en el archivo de encabezado <cfenv>
|
||
#define FE_DOWNWARD /*implementation defined*/ |
(desde C++11) | |
#define FE_TONEAREST /*implementation defined*/ |
(desde C++11) | |
#define FE_TOWARDZERO /*implementation defined*/ |
(desde C++11) | |
#define FE_UPWARD /*implementation defined*/ |
(desde C++11) | |
Cada una de estas constantes macro se expande a un número entero no negativo expresión constante, que puede utilizarse con me std::fesetround y std::fegetround para indicar uno de los modos de redondeo compatibles de punto flotante. La aplicación puede definir adicionales constantes modo de redondeo en
<cfenv>
, que todo debe comenzar con FE_
seguido por al menos una letra mayúscula. Cada macro se define sólo si es respaldada .Original:
Each of these macro constants expands to a nonnegative integer constant expression, which can me used with std::fesetround and std::fegetround to indicate one of the supported floating-point rounding modes. The implementation may define additional rounding mode constants in
<cfenv>
, which should all begin with FE_
followed by at least one uppercase letter. Each macro is only defined if it is supported.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
En la mayoría de las implementaciones, estas constantes macro ampliar a los valores iguales a los valores de FLT_ROUNDS y std::float_round_style
Original:
On most implementations, these macro constants expand to the values equal to the values of FLT_ROUNDS and std::float_round_style
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Constant
Original: Constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Explanation |
FE_DOWNWARD
|
redondeo hacia el infinito negativo
Original: rounding towards negative infinity The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_TONEAREST
|
redondeo hacia entero más cercano
Original: rounding towards nearest integer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_TOWARDZERO
|
redondeo hacia cero
Original: rounding towards zero The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_UPWARD
|
redondeo hacia el infinito positivo
Original: rounding towards positive infinity The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Modos adicionales de redondeo puede estar avalado por una implementación .
Original:
Additional rounding modes may be supported by an implementation.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar] Ejemplo
Ejecuta este código
#include <cmath> #include <cfenv> #include <iostream> int main() { #pragma STDC FENV_ACCESS ON std::fesetround(FE_DOWNWARD); std::cout << "rounding using FE_DOWNWARD: \n" << std::fixed << " 12.0 -> " << std::nearbyint(12.0) << '\n' << " 12.1 -> " << std::nearbyint(12.1) << '\n' << "-12.1 -> " << std::nearbyint(-12.1) << '\n' << " 12.5 -> " << std::nearbyint(12.5) << '\n' << " 12.9 -> " << std::nearbyint(12.9) << '\n' << "-12.9 -> " << std::nearbyint(-12.9) << '\n' << " 13.0 -> " << std::nearbyint(13.0) << '\n'; std::fesetround(FE_TONEAREST); std::cout << "rounding using FE_TONEAREST: \n" << " 12.0 -> " << std::nearbyint(12.0) << '\n' << " 12.1 -> " << std::nearbyint(12.1) << '\n' << "-12.1 -> " << std::nearbyint(-12.1) << '\n' << " 12.5 -> " << std::nearbyint(12.5) << '\n' << " 12.9 -> " << std::nearbyint(12.9) << '\n' << "-12.9 -> " << std::nearbyint(-12.9) << '\n' << " 13.0 -> " << std::nearbyint(13.0) << '\n'; }
Salida:
rounding using FE_DOWNWARD: 12.0 -> 12.000000 12.1 -> 12.000000 -12.1 -> -13.000000 12.5 -> 12.000000 12.9 -> 12.000000 -12.9 -> -13.000000 13.0 -> 13.000000 rounding using FE_TONEAREST: 12.0 -> 12.000000 12.1 -> 12.000000 -12.1 -> -12.000000 12.5 -> 12.000000 12.9 -> 13.000000 -12.9 -> -13.000000 13.0 -> 13.000000
[editar] Ver también
Indica modalidades de redondeo de punto flotante. (enum) | |
(C++11)(C++11) |
Obtiene o establece la dirección redondeo (función) |