FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD
Da cppreference.com.
![]() | 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. |
Elemento definito nell'header <cfenv> | ||
#define FE_DOWNWARD /*implementation defined*/ | (dal C++11) | |
#define FE_TONEAREST /*implementation defined*/ | (dal C++11) | |
#define FE_TOWARDZERO /*implementation defined*/ | (dal C++11) | |
#define FE_UPWARD /*implementation defined*/ | (dal C++11) | |
Ciascuna di queste costanti macro restituisce un negativo espressione intero costante, che può utilizzare con me std::fesetround e std::fegetround per indicare uno dei supportate virgola mobile modalità di arrotondamento. L'applicazione può definire ulteriori costanti modalità di arrotondamento nel
<cfenv>
, che dovrebbero iniziare con FE_
seguita da almeno una lettera maiuscola. Ogni macro è definito solo se supportato.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.
Sulla maggior parte delle implementazioni, queste costanti macro espandere i valori uguali ai valori di FLT_ROUNDS e std::float_round_style
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 | arrotondamento verso l'infinito negativo 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 | arrotondamento verso l'intero più vicino 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 | arrotondamento verso lo zero 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 | arrotondamento verso l'infinito positivo 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. |
Ulteriori modalità di arrotondamento può essere supportato da una implementazione.
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.
[modifica]Esempio
#include <cmath>#include <cfenv>#include <iostream> int main(){#pragma STDC FENV_ACCESS ONstd::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
[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) | |
(C++11) (C++11) | ottiene o imposta la direzione di arrotondamento 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. (funzione) |