Espaços nominais
Variantes
Acções

std::fegetround, std::fesetround

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.
(C++11)
 
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.
fegetroundfesetround
(C++11)(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.
(C++11)
 
Definido no cabeçalho <cfenv>
int fesetround( int round )
(1) (desde C++11)
int fegetround()
(2) (desde C++11)
1)
Tentativas para estabelecer o sentido de arredondamento de ponto flutuante igual à round argumento, que se espera que seja um dos flutuando macros arredondamento de pontos.
Original:
Attempts to establish the floating-point rounding direction equal to the argument round, which is expected to be one of the flutuando macros arredondamento de pontos.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
Retorna o valor da flutuando macro arredondamento ponto que corresponde à direcção de arredondamento correntes.
Original:
Returns the value of the flutuando macro arredondamento ponto that corresponds to the current rounding direction.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Índice

[editar] Parâmetros

round -
direção de arredondamento, um dos flutuando macros arredondamento de pontos
Original:
rounding direction, one of flutuando macros arredondamento de pontos
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Valor de retorno

1)
0 em caso de sucesso, não-zero, caso contrário.
Original:
0 on success, non-zero otherwise.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
o flutuando macro arredondamento ponto descrevendo a direcção arredondamento corrente ou um valor negativo se a direcção não pode ser determinada
Original:
the flutuando macro arredondamento ponto describing the current rounding direction or a negative value if the direction cannot be determined
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Exemplo

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

Saída:

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

(C++11)
número inteiro mais próximo utilizando o modo de arredondamento correntes
Original:
nearest integer using current rounding mode
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]
(C++11)
(C++11)
(C++11)
número inteiro mais próximo usando o modo de arredondamento atual com exceção
se o resultado é diferente
Original:
nearest integer using current rounding mode with
exception if the result differs
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]