ilogbf, ilogbl, ou ilogb Subroutine

Propósito

Retorna um expoente não tendencioso.

Sintaxe

#include <math.h>

int ilogbf (x)
float x;

int ilogbl (x)
long double x;

int ilogb (x)
double x;

Descrição

As subroutines ilogbf, ilogble ilogb retornam a parte expoente do parâmetro x . O valor de retorno é a parte integrante do logr | x | como um valor integral assinado, para nonzero x, onde r é o radix da aritmética de ponto de flutuação da máquina (r=2).

Um aplicativo desejando verificar situações de erro deve configurar a variável global do thre errno para zero e chamar feclearexceto(FE_ALL_EXCETO) antes de ligar para essas subroutines. Ao retornar, se errno for nonzero ou fetestexceto(FE_INVÁLIDO | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) é nonzero, ocorreu um erro.

Parâmetros

Item Descrição
X Especifica o valor a ser computado.

Valores De Retorno

Após a conclusão bem-sucedida, as subroutines ilogbf, ilogble ilogb retornam a parte expoente de x como um valor inteiro assinado. Eles são equivalentes a chamar a função logb correspondente e lançar o valor retornado para o tipo int.

Se x for 0, ocorrerá um erro de domínio, e o valor FP_ILOGB0 será retornado.

Se x for ± Inf, ocorrerá um erro de domínio, e o valor {INT_MAX} será retornado.

Se x for um NaN, ocorrerá um erro de domínio e o valor FP_ILOGBNAN será retornado.

Se o valor correto for maior do que {INT_MAX}, {INT_MAX} é retornado e ocorre um erro de domínio.

Se o valor correto for menor do que {INT_MIN}, {INT_MIN} é retornado e ocorre um erro de domínio.