std::numeric_limits<T>:: has_denorm_loss
|
static
const
bool
has_denorm_loss
;
|
(bis C++11) | |
|
static
constexpr
bool
has_denorm_loss
;
|
(seit C++11)
(veraltet in C++23) |
|
Der Wert von
std::
numeric_limits
<
T
>
::
has_denorm_loss
ist
true
für alle Gleitkommatypen
T
, die Genauigkeitsverlust bei der Erstellung einer subnormalen Zahl als Denormalisierungsverlust anstatt als ungenaues Ergebnis erkennen (siehe unten).
Inhaltsverzeichnis |
Standardspezialisierungen
T
|
Wert von std:: numeric_limits < T > :: has_denorm_loss |
| /* non-specialized */ | false |
| bool | false |
| char | false |
| signed char | false |
| unsigned char | false |
| wchar_t | false |
| char8_t (seit C++20) | false |
| char16_t (seit C++11) | false |
| char32_t (seit C++11) | false |
| short | false |
| unsigned short | false |
| int | false |
| unsigned int | false |
| long | false |
| unsigned long | false |
| long long (seit C++11) | false |
| unsigned long long (seit C++11) | false |
| float | implementierungsdefiniert |
| double | implementierungsdefiniert |
| long double | implementierungsdefiniert |
Hinweise
Standardkonforme IEEE 754-Gleitkomma-Implementierungen von subnormalen Zahlen müssen den mit der Erzeugung solcher Zahlen verbundenen Genauigkeitsverlust erkennen, falls dieser auftritt, und können dies auf eine von zwei verschiedenen Arten tun:
- Denormalisierungsverlust: Das gelieferte Ergebnis weicht von dem ab, was berechnet worden wäre, wenn der Exponentenbereich unbegrenzt wäre.
- Ungenaues Ergebnis: Das gelieferte Ergebnis weicht von dem ab, was berechnet worden wäre, wenn sowohl der Exponentenbereich als auch die Genauigkeit unbegrenzt wären.
Es existiert keine Implementierung eines Denormalisierungsverlustmechanismus (Genauigkeitsverlust wird nach dem Runden als ungenaues Ergebnis erkannt), und diese Option wurde in der 2008er Revision von IEEE Std 754 entfernt.
libstdc++, libc++, libCstd und stlport4 definieren diese Konstante als false für alle Gleitkommatypen. Microsoft Visual Studio definiert sie als true für alle Gleitkommatypen.
Wie bei allen Gleitkommaberechnungen kann Genauigkeitsverlust FE_INEXACT auslösen.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
[static]
|
kennzeichnet Gleitkommatypen, die Tinyness vor dem Runden erkennen
(öffentliche statische Memberkonstante) |
|
[static]
|
identifiziert den Denormalisierungsstil, der vom Gleitkommatyp verwendet wird
(öffentliche statische Memberkonstante) |