std::numeric_limits::round_style
Da cppreference.com.
< cpp | types | numeric limits
![]() |
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.
La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
static const std::float_round_style round_style |
(fino al c++11) | |
static constexpr std::float_round_style round_style |
(dal C++11) | |
Il valore del std::numeric_limits<T>::round_stylem identifica lo stile di arrotondamento usato dalla virgola mobile
T
tipo ogniqualvolta un valore che non è uno dei valori esattamente repesentable di T
è memorizzato in un oggetto di quel 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.
[modifica] Specializzazioni standard
T
|
valore di 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 | di solito 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 | di solito 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 | di solito 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. |
[modifica] Esempio
Il 0.1 valore decimale non può essere rappresentato da un binario in virgola mobile. Se conservato in un IEEE-745 double, cade tra 0x1.9999999999999*2-4
e 0x1.999999999999a*2-4
. Arrotondamento al più vicino valore risulta rappresentabili in 0x1.999999999999a*2-4
.
e 0x1.999999999999a*2-4
. Arrotondamento al più vicino valore risulta rappresentabili in 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.
Allo stesso modo, il valore decimale 0.3, che è tra 0x1.3333333333333*2-2
e 0x1.3333333333334*2-2
è arrotondato al più vicino ed è archiviato come 0x1.3333333333333*2-2
.
e 0x1.3333333333334*2-2
è arrotondato al più vicino ed è archiviato come 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'; }
Output:
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
[modifica] Vedi anche
indica virgola mobile modalità di arrotondamento 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) |