C ++ llrint () - Biblioteca C ++ Padrão

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

A função llrint () 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(). É semelhante a lrint (), mas retorna long long int em vez de long int.

protótipo llrint () (a partir do padrão C ++ 11)

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 tipo integral

A função llrint () recebe um único argumento e retorna um valor do tipo long long int. Esta função é definida no arquivo de cabeçalho.

Parâmetros llrint ()

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

llrint () Valor de retorno

A função llrint () arredonda o argumento x para um valor integral, usando a direção de arredondamento especificada por fegetround()e retorna o valor em long long int.

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

A direção do arredondamento pode ser definida para outros valores usando a fesetround()função.

Exemplo 1: Como llrint () 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; long long int result; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = llrint(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 (11,8699) = 11 Arredondamento para cima (33,3201) = 34

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

 #include #include #include using namespace std; int main() ( int x = 15; long long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = llrint(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 função llrint retorna o mesmo valor da entrada. Portanto, não é comumente usado para valores integrais na prática.

Artigos interessantes...