Espaces de noms
Variantes
Affichages
Actions

FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD

De cppreference.com
< cpp‎ | numeric‎ | fenv

 
 
Bibliothèque Numerics
Fonctions mathématiques courantes
Virgule flottante environnement
Nombres complexes
Tableaux numériques
La génération de nombres pseudo-aléatoires
Moment de la compilation arithmétique rationnelle (C++11)
Génériques des opérations numériques
Original:
Generic numeric operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
iota (C++11)
accumulate
inner_product
adjacent_difference
partial_sum
 
Virgule flottante environnement
Fonctions
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
feclearexcept (C++11)
fetestexcept (C++11)
feraiseexcept (C++11)
fegetexceptflag
fesetexceptflag
(C++11)
(C++11)
fegetround
fesetround
(C++11)
(C++11)
fegetenv
fesetenv
(C++11)
feholdexcept (C++11)
feupdateenv (C++11)
Macro constantes
Original:
Macro constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
FE_ALL_EXCEPT
FE_DIVBYZERO
FE_INEXACT
FE_INVALID
FE_OVERFLOW
FE_UNDERFLOW
(C++11)
FE_DOWNWARD
FE_TONEAREST
FE_TOWARDZERO
FE_UPWARD
(C++11)
FE_DFL_ENV (C++11)
 
Defined in header <cfenv>
#define FE_DOWNWARD     /*implementation defined*/
(depuis C++11)
#define FE_TONEAREST    /*implementation defined*/
(depuis C++11)
#define FE_TOWARDZERO   /*implementation defined*/
(depuis C++11)
#define FE_UPWARD       /*implementation defined*/
(depuis C++11)
Chacune de ces constantes macro développe en une expression constante entière positive ou nulle, ce qui peut me utilisé avec std::fesetround et std::fegetround pour indiquer l'un des modes pris en charge arrondi à virgule flottante. La mise en œuvre peuvent définir des constantes de mode d'arrondi dans <cfenv>, qui devraient tous commencer par FE_ suivie par au moins une lettre majuscule. Chaque macro n'est définie que si elle est soutenue .
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.
Sur la plupart des implémentations, ces constantes macro étendre aux valeurs égales aux valeurs de FLT_ROUNDS et 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.
Constante
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
arrondi vers l'infini négatif
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
arrondi vers entier le plus proche
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
arrondi vers zéro
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
arrondi vers l'infini positif
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.
Modes d'arrondi supplémentaires peuvent être soutenues par une mise en œuvre .
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.

[modifier] Exemple

[edit]
#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';
}

Résultat :

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

[modifier] Voir aussi

indique modes d'arrondi en virgule flottante
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) [edit]
(C++11)
(C++11)
obtient ou définit direction d'arrondi
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.

(fonction) [edit]