std::numeric_limits::round_style
De cppreference.com
< cpp | types | numeric limits
![]() | 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í. |
staticconststd::float_round_style round_style | (hasta C++11) | |
staticconstexprstd::float_round_style round_style | (desde C++11) | |
El valor de std::numeric_limits<T>::round_stylem identifica el estilo redondeo utilizado por el
T
tipo de punto flotante siempre que un valor que no es uno de los valores exactamente repesentable de T
se almacena en un objeto de ese tipo .Original:
The value of std::numeric_limits<T>::round_stylem identifies the rounding style used by the floating-point type
T
whenever a value that is not one of the exactly repesentable values of T
is stored in an object of that type.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]Especializaciones estándar
T | valor de std::numeric_limits<T>::round_style Original: value of std::numeric_limits<T>::round_style The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
/* non-specialized */ | std::round_toward_zero |
bool | std::round_toward_zero |
char | std::round_toward_zero |
signedchar | std::round_toward_zero |
unsignedchar | std::round_toward_zero |
wchar_t | std::round_toward_zero |
char16_t | std::round_toward_zero |
char32_t | std::round_toward_zero |
short | std::round_toward_zero |
unsignedshort | std::round_toward_zero |
int | std::round_toward_zero |
unsignedint | std::round_toward_zero |
long | std::round_toward_zero |
unsignedlong | std::round_toward_zero |
longlong | std::round_toward_zero |
unsignedlonglong | std::round_toward_zero |
float | por lo general std::round_to_nearest Original: usually std::round_to_nearest The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
double | por lo general std::round_to_nearest Original: usually std::round_to_nearest The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
longdouble | por lo general std::round_to_nearest Original: usually std::round_to_nearest The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar]Ejemplo
El 0.1 valor decimal no se puede representar por un binario de punto flotante tipo. Cuando se almacena en un puerto IEEE-745 double, cae entre 0x1.9999999999999*2-4
y 0x1.999999999999a*2-4
. Redondeo a los próximos resultados del valor representable en 0x1.999999999999a*2-4
.
y 0x1.999999999999a*2-4
. Redondeo a los próximos resultados del valor representable en 0x1.999999999999a*2-4
.
Original:
The decimal value 0.1 cannot be represented by a binary floating-point type. When stored in an IEEE-745 double, it falls between 0x1.9999999999999*2-4
and 0x1.999999999999a*2-4
. Rounding to nearest representable value results in 0x1.999999999999a*2-4
.
and 0x1.999999999999a*2-4
. Rounding to nearest representable value results in 0x1.999999999999a*2-4
.
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.
De manera similar, el valor decimal 0,3, que es entre 0x1.3333333333333*2-2
y 0x1.3333333333334*2-2
se redondea más cercano a y se almacena como 0x1.3333333333333*2-2
.
y 0x1.3333333333334*2-2
se redondea más cercano a y se almacena como 0x1.3333333333333*2-2
.
Original:
Similarly, the decimal value 0.3, which is between 0x1.3333333333333*2-2
and 0x1.3333333333334*2-2
is rounded to nearest and is stored as 0x1.3333333333333*2-2
.
and 0x1.3333333333334*2-2
is rounded to nearest and is stored as 0x1.3333333333333*2-2
.
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.
Ejecuta este código
#include <iostream>#include <limits>int main(){std::cout<<std::hexfloat<<"The decimal 0.1 is stored in a double as "<<0.1<<'\n'<<"The decimal 0.3 is stored in a double as "<<0.3<<'\n'<<"The rounding style is "<<std::numeric_limits<double>::round_style<<'\n';}
Salida:
The decimal 0.1 is stored in a double as 0x1.999999999999ap-4 The decimal 0.3 is stored in a double as 0x1.3333333333333p-2 The rounding style is 1
[editar]Ver también
Indica modalidades de redondeo de punto flotante. (enum) |