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.