English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
A função llrint() arredonda um único valor de parâmetro.
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.
#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
#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.