std::numeric_limits::round_style
Aus 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. |
staticconststd::float_round_style round_style | (bis C + +11) | |
staticconstexprstd::float_round_style round_style | (seit C++11) | |
Der Wert der std::numeric_limits<T>::round_stylem identifiziert die Rundung Stil von der Floating-Point-Typ
T
wenn ein Wert, der nicht einer der genau repesentable Werte T
in einem Objekt dieses Typs gespeichert werden .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.
[Bearbeiten]Standard Spezialisierungen
T | Wert 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 | Regel 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 | Regel 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 | Regel 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. |
[Bearbeiten]Beispiel
Der Dezimalwert 0.1 kann nicht durch eine binäre Gleitkommazahl Typ dargestellt werden. Wenn in einem IEEE-745 double gespeichert, fällt sie zwischen 0x1.9999999999999*2-4
und 0x1.999999999999a*2-4
. Abgerundet zum nächsten darstellbaren Wert ergibt sich 0x1.999999999999a*2-4
.
und 0x1.999999999999a*2-4
. Abgerundet zum nächsten darstellbaren Wert ergibt sich 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.
Ähnlich der Dezimalwert 0,3, welche zwischen 0x1.3333333333333*2-2
und 0x1.3333333333334*2-2
wird gerundet und wird als 0x1.3333333333333*2-2
gespeichert .
und 0x1.3333333333334*2-2
wird gerundet und wird als 0x1.3333333333333*2-2
gespeichert .
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
[Bearbeiten]Siehe auch
zeigt Gleitkommazahl Rundungsmodi 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) |