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

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

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

C ++A função llrint() usa o modo de arredondamento atual para arredondar o parâmetro.

O modo de arredondamento atual é determinado pela função fesetround(). É semelhante alrint()Mas retorna long long int em vez de long int.

Procedimento llrint()[do C ++ 11começo do padrão]

long long int llrint(double x);
long long int llrint(float x);
long long int llrint(long double x);
long long int llrint(T x); //Para inteiros

A função llrint() usa um único parâmetro e retorna um valor do tipo long long int. Esta função está disponível desde<cmath>Definidos no cabeçalho.

Parâmetros de llrint()

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

Retorno do valor de llrint()

A função llrint() usa a direção de arredondamento especificada por fegetround() para arredondar o parâmetro x para um valor inteiro e retornar o valor em forma de long long int.

Pelo padrão, a direção de arredondamento é definida como 'to-'nearest'.

Pode-se usar a função fesetround() para definir a direção de arredondamento para outros valores.

Exemplo1:llrint()如何在C ++Como funciona?

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

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

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

Exemplo2:整数类型的llrint()函数

#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;
int main()
{
    int x = 15;
    long long int result;
    
    //Definir a direção de arredondamento para DOWNWARD
    fesetround(FE_DOWNWARD);
    result = llrint(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 llrint retorna o mesmo valor de entrada. Portanto, não é usada frequentemente para representar valores inteiros.

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