English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Uso da função rint() e exemplo

C++ Biblioteca de Funções <cmath>

C ++A função rint() usa o padrão de arredondamento atual para arredondar o parâmetro para um valor inteiro. O padrão de arredondamento atual é determinado pela função fesetround().

Padrão rint() [a partir de C ++ 11std::begin]

double rint(double x);
float rint(float x);
long double rint(long double x);
double rint(T x); //para inteiro

A função rint() arredonda um único parâmetro e retorna um valor do tipo double, float ou long double. Esta função está<cmath>Definido no cabeçalho.

Parâmetros de rint()

A função rint() arredonda um único valor de parâmetro.

Retorno do valor de rint()

A função rint() arredonda o parâmetro x para um valor inteiro usando a direção de arredondamento especificada por fegetround() e retorna esse valor. Pelo padrão, a direção do arredondamento é "o mais próximo". Pode-se usar a função fesetround() para definir a direção do arredondamento para outros valores.

Exemplo1:como a função rint() em C ++no trabalho?

#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;
int main()
{
    //Pelo padrão, a direção do arredondamento é a mais próxima, ou seja, fesetround(FE_TONEAREST)
    double x = 11.87, result;
    result = rint(x);
    cout << "Arredondamento para o mais próximo (" << x << ") = " << result << endl;
    
    //Valor intermediário para o maior
    x = 11.5;
    result = rint(x);
    cout << "Arredondamento para o mais próximo (" << x << ") = " << result << endl;
    // Definir a direção de arredondamento para DOWNWARD
    fesetround(FE_DOWNWARD);
    x = 11.87;
    result = rint(x);
    cout << "Arredondamento para baixo (" << x << ") = " << result << endl;
    
    // Definir a direção do arredondamento para UPWARD
    fesetround(FE_UPWARD);
    x = 33.32;
    result = rint(x);
    cout << "Arredondamento para cima (" << x << ") = " << result << endl;
    
    return 0;
}

Quando o programa é executado, a saída é:

Arredondamento para o mais próximo (11.87) = 12
Arredondamento para o mais próximo (11.5) = 12
Arredondamento para baixo (11.8699) = 11
Arredondamento para cima (33.3201) = 34

Exemplo2:função rint() de tipo inteiro

#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;
int main()
{
    int x = 15;
    double result;
    
    // Definir a direção de arredondamento para DOWNWARD
    fesetround(FE_DOWNWARD);
    result = rint(x);
    cout << "Arredondamento para baixo (" << x << ") = " << result << endl;
    return 0;
}

Quando o programa é executado, a saída é:

Arredondamento para baixo (15) = 15

Para valores inteiros, a função rint retorna o mesmo valor de entrada. Portanto, geralmente não é usada para valores inteiros.

C++ Biblioteca de Funções <cmath>