FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD
Aus cppreference.com
![]() |
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. |
definiert in Header <cfenv>
|
||
#define FE_DOWNWARD /*implementation defined*/ |
(seit C++11) | |
#define FE_TONEAREST /*implementation defined*/ |
(seit C++11) | |
#define FE_TOWARDZERO /*implementation defined*/ |
(seit C++11) | |
#define FE_UPWARD /*implementation defined*/ |
(seit C++11) | |
Jede dieser Makro-Konstanten weitet sich zu einer nichtnegativen Ganzzahlkonstantenausdruck, die mich mit verwendet std::fesetround und std::fegetround zu einem der unterstützten Floating-Point-Rundungsmodi anzuzeigen. Die Implementierung kann zusätzliche Rundungsmodus Konstanten in
<cfenv>
definieren, die alle sollten beginnen mit FE_
von mindestens einem Großbuchstaben gefolgt. Jedes Makro wird nur definiert, wenn sie unterstützt wird .Original:
Each of these macro constants expands to a nonnegative integer constant expression, which can me used with std::fesetround and std::fegetround to indicate one of the supported floating-point rounding modes. The implementation may define additional rounding mode constants in
<cfenv>
, which should all begin with FE_
followed by at least one uppercase letter. Each macro is only defined if it is supported.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.
Am meisten Implementierungen diese Makro-Konstanten mit den Werten gleich den Werten der FLT_ROUNDS und std::float_round_style erweitern
Original:
On most implementations, these macro constants expand to the values equal to the values of FLT_ROUNDS and std::float_round_style
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.
Constant
Original: Constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Explanation |
FE_DOWNWARD
|
Rundung in Richtung minus unendlich
Original: rounding towards negative infinity The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_TONEAREST
|
Rundung zur nächsten ganzen Zahl
Original: rounding towards nearest integer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_TOWARDZERO
|
Rundung in Richtung Null
Original: rounding towards zero The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_UPWARD
|
Rundung in Richtung plus unendlich
Original: rounding towards positive infinity The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Zusätzliche Rundungsmodi kann durch eine Implementierung unterstützt werden .
Original:
Additional rounding modes may be supported by an implementation.
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] Beispiel
#include <cmath> #include <cfenv> #include <iostream> int main() { #pragma STDC FENV_ACCESS ON std::fesetround(FE_DOWNWARD); std::cout << "rounding using FE_DOWNWARD: \n" << std::fixed << " 12.0 -> " << std::nearbyint(12.0) << '\n' << " 12.1 -> " << std::nearbyint(12.1) << '\n' << "-12.1 -> " << std::nearbyint(-12.1) << '\n' << " 12.5 -> " << std::nearbyint(12.5) << '\n' << " 12.9 -> " << std::nearbyint(12.9) << '\n' << "-12.9 -> " << std::nearbyint(-12.9) << '\n' << " 13.0 -> " << std::nearbyint(13.0) << '\n'; std::fesetround(FE_TONEAREST); std::cout << "rounding using FE_TONEAREST: \n" << " 12.0 -> " << std::nearbyint(12.0) << '\n' << " 12.1 -> " << std::nearbyint(12.1) << '\n' << "-12.1 -> " << std::nearbyint(-12.1) << '\n' << " 12.5 -> " << std::nearbyint(12.5) << '\n' << " 12.9 -> " << std::nearbyint(12.9) << '\n' << "-12.9 -> " << std::nearbyint(-12.9) << '\n' << " 13.0 -> " << std::nearbyint(13.0) << '\n'; }
Output:
rounding using FE_DOWNWARD: 12.0 -> 12.000000 12.1 -> 12.000000 -12.1 -> -13.000000 12.5 -> 12.000000 12.9 -> 12.000000 -12.9 -> -13.000000 13.0 -> 13.000000 rounding using FE_TONEAREST: 12.0 -> 12.000000 12.1 -> 12.000000 -12.1 -> -12.000000 12.5 -> 12.000000 12.9 -> 13.000000 -12.9 -> -13.000000 13.0 -> 13.000000
[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) | |
(C++11) (C++11) |
ab oder legt Rundung Richtung Original: gets or sets rounding direction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktion) |