Espaços nominais
Variantes
Acções

FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD

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

 
 
Biblioteca numéricos
Funções matemáticas comuns
De ponto flutuante ambiente
Números complexos
Matrizes numéricas
Pseudo-aleatório de geração de números
Tempo de compilação aritmética racional (C++11)
Genéricos operações numéricas
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
 
De ponto flutuante ambiente
Funções
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)
Constantes de macros
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*/
(a partir do C++ 11)
#define FE_TONEAREST    /*implementation defined*/
(a partir do C++ 11)
#define FE_TOWARDZERO   /*implementation defined*/
(a partir do C++ 11)
#define FE_UPWARD       /*implementation defined*/
(a partir do C++ 11)
Cada uma destas constantes macro expande para uma expressão inteiro não negativo constante, o que pode me usado com std::fesetround e std::fegetround para indicar um dos modos suportados de ponto flutuante de arredondamento. A aplicação pode definir constantes de modo adicional de arredondamento em <cfenv>, que devem todos começam com FE_ seguido por pelo menos uma letra maiúscula. Cada macro é definida somente se for suportado.
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.
Na maioria das implementações, estas constantes de macro expandir-se para os valores iguais aos valores do 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.
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
arredondamento para o 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
arredondamento para o inteiro mais próximo
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
arredondamento para 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
arredondamento para o 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.
Arredondamento modos podem ser suportados por uma implementação.
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.

[editar] Exemplo

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

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

[editar] Veja também

indica os modos de ponto flutuante de arredondamento
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)
obtém ou define direção arredondamento
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.

(função) [edit]