C ++ nearbyint () - Biblioteca C ++ padrão

A função nearbyint () em C ++ arredonda o argumento para um valor integral usando o modo de arredondamento atual.

A função nearbyint () em C ++ arredonda o argumento para um valor integral usando o modo de arredondamento atual. O modo de arredondamento atual é determinado pela função fesetround(). A função nearbyint () é semelhante a rint (), exceto que não levanta exceções FE_INEXACT como rint ().

Uma exceção FE_INEXACT é uma exceção de ponto flutuante que ocorre quando o resultado de uma operação não é representado exatamente devido ao arredondamento ou estouro negativo gradual.

Protótipo próximoint () (a partir do padrão C ++ 11)

nearint duplo (duplo x); float nearint (float x); duplo longo próximoint (longo duplo x); vizinho duplo (T x); // Para tipo integral

A função nearbyint () recebe um único argumento e retorna um valor do tipo double, float ou long double. Esta função é definida no arquivo de cabeçalho.

Parâmetros nearbyint ()

A função nearbyint () leva um único valor de argumento para arredondar.

nextint () Valor de retorno

A função nearbyint () arredonda o argumento x para um valor integral, usando a direção de arredondamento especificada por fegetround () e retorna o valor. Por padrão, a direção do arredondamento é definida como 'para o mais próximo'. A direção do arredondamento pode ser definida para outros valores usando a função fesetround ().

Exemplo 1: Como o nearbyint () funciona em C ++?

 #include #include #include using namespace std; int main() ( // by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST) double x = 11.87, result; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

Quando você executa o programa, a saída será:

 Arredondamento para o mais próximo (11,87) = 12 Arredondamento para o mais próximo (11,5) = 12 Arredondamento para baixo (17,87) = 17 Arredondamento para cima (33,3401) = 34

Exemplo 2: função nearbyint () para tipos integrais

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

Quando você executa o programa, a saída será:

 Arredondando para baixo (15) = 15 

Para valores integrais, a aplicação da nearbyintfunção retorna o mesmo valor da entrada. Portanto, não é comumente usado para valores integrais na prática.

Artigos interessantes...