lrint
, lrintf
, lrintl
, llrint
, llrintf
, , llrintl
Arredonda o valor de ponto flutuante especificado para o valor inteiro mais próximo, usando o modo de arredondamento atual e a direção.
Sintaxe
long int lrint(
double x
);
long int lrint(
float x
); //C++ only
long int lrint(
long double x
); //C++ only
long int lrintf(
float x
);
long int lrintl(
long double x
);
long long int llrint(
double x
);
long long int llrint(
float x
); //C++ only
long long int llrint(
long double x
); //C++ only
long long int llrintf(
float x
);
long long int llrintl(
long double x
);
#define lrint(X) // Requires C11 or higher
Parâmetros
x
O valor a ser arredondado.
Valor retornado
Se for bem-sucedido, retornará o valor arredondado integral do x
.
Problema | Return |
---|---|
x está fora do intervalo do tipo retornadox = ±INFx = NaN |
Aumenta FE_INVALID e retorna zero (0). |
Comentários
Como o C++ permite sobrecarga, você pode chamar sobrecargas de lrint
e que levam float
e tipos long double
llrint
. Em um programa C, a menos que você esteja usando a macro tgmath.h> para chamar essa função, lrint
sempre llrint
use um double
.<
Se você usa a macro <tgmath.h>llrint()
, o tipo do argumento determina qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.
Se x
não representa o equivalente de ponto flutuante de um valor integral, essas funções aumentam FE_INEXACT
.
Seção específica da Microsoft: quando o resultado estiver fora do intervalo de tipo retornado ou quando o parâmetro for um NaN ou infinito, o valor retornado será definido pela implementação. O compilador da Microsoft retorna um valor zero (0).
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
Função | Cabeçalho C | Cabeçalho C++ |
---|---|---|
lrint , lrintf , lrintl , llrint , llrintf , , llrintl |
<math.h> | <cmath> |
Macro lrint |
<tgmath.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.