Compartilhar via


logb, logbf, logbl, _logb, _logbf

Extrai o valor exponencial de um argumento de ponto flutuante.

Sintaxe

double logb(
   double x
);
float logb(
   float x
); // C++ only
long double logb(
   long double x
); // C++ only
float logbf(
   float x
);
long double logbl(
   long double x
);
double _logb(
   double x
);
float _logbf(
   float x
);
#define logb(X) // Requires C11 or higher

Parâmetros

x
Um valor de ponto flutuante.

Valor retornado

logb retorna o valor exponencial imparcial de x como um inteiro com sinal representado como um valor de ponto flutuante.

Comentários

As funções logb extraem o valor exponencial do argumento de ponto flutuante x, como se x fosse representado com intervalo infinito. Se o argumento x for desnormalizado, ele será tratado como se fosse normalizado.

Como C++ permite sobrecargas, é possível chamar sobrecargas de logb e que utilizam e retornam valores de float ou long double. Em um programa do C, a menos que você esteja usando a macro <tgmath.h> para chamar essa função, logb sempre recebe e retorna um double.

Se você usar a logb macro de <tgmath.h>, o tipo do argumento determinará qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.

Entrada Exceção SEH Exceção _matherr
± QNaN, IND Nenhum _DOMAIN
± 0 ZERODIVIDE _SING

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Rotina Cabeçalho necessário
_logb <float.h>
logb, logbf, logbl, _logbf <math.h>
Macro logb <tgmath.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Todas as versões das bibliotecas em tempo de execução C.

Confira também

Suporte matemático e de ponto flutuante
frexp