std::numeric_limits::round_style
De cppreference.com
< cpp | types | numeric limits
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
static const std::float_round_style round_style |
(avant C++11) | |
static constexpr std::float_round_style round_style |
(depuis C++11) | |
La valeur de std::numeric_limits<T>::round_stylem identifie le style arrondi utilisé par le
T
type virgule flottante à chaque fois une valeur qui n'est pas l'une des valeurs exactement repesentable de T
est stocké dans un objet de ce type .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.
[modifier] Spécialisations standard
T
|
valeur 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 |
signed char | std::round_toward_zero |
unsigned char | 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 |
unsigned short | std::round_toward_zero |
int | std::round_toward_zero |
unsigned int | std::round_toward_zero |
long | std::round_toward_zero |
unsigned long | std::round_toward_zero |
long long | std::round_toward_zero |
unsigned long long | std::round_toward_zero |
float | généralement 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 | généralement 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. |
long double | généralement 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. |
[modifier] Exemple
Le 0.1 valeur décimale ne peut pas être représenté par une binaire à virgule flottante de type. Lorsqu'elles sont stockées dans une carte IEEE-745 double, il se situe entre 0x1.9999999999999*2-4
et 0x1.999999999999a*2-4
. Arrondi au plus près les résultats de valeurs représentables dans 0x1.999999999999a*2-4
.
et 0x1.999999999999a*2-4
. Arrondi au plus près les résultats de valeurs représentables dans 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 même, la valeur décimale 0,3, qui est comprise entre 0x1.3333333333333*2-2
et 0x1.3333333333334*2-2
est arrondi à la plus proche et est stocké sous forme 0x1.3333333333333*2-2
.
et 0x1.3333333333334*2-2
est arrondi à la plus proche et est stocké sous forme 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.
#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'; }
Résultat :
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
[modifier] Voir aussi
indique modes d'arrondi en virgule flottante Original: indicates floating-point rounding modes The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (enum) |