Share via


ilogb, ilogbf, ilogbl

Recupera un entero que representa el exponente imparcial de base 2 del valor especificado.

Sintaxis

int ilogb(
   double x
);

int ilogb(
   float x
); //C++ only

int ilogb(
   long double x
); //C++ only

int ilogbf(
   float x
);

int ilogbl(
   long double x
);

#define ilogbl(X) // Requires C11 or higher

Parámetros

x
Valor especificado.

Valor devuelto

Si se ejecuta correctamente, estas funciones devuelven el exponente base-2 de x como un signed int valor.

De lo contrario, las funciones devuelven uno de los valores siguientes, definidos en <math.h>:

Entrada Resultado
±0 FP_ILOGB0
± INF, ± NAN, IND FP_ILOGBNAN

Los errores se notifican como se especifica en _matherr.

Comentarios

Como C++ permite las sobrecargas, puede llamar a las sobrecargas de ilogb que toman y devuelven los tipos float y long double. En un programa de C, a menos que use la <macro tgmath.h> para llamar a esta función, ilogb siempre toma y devuelve .double

Si usa la macro <tgmath.h>ilogb(), el tipo del argumento determina qué versión de la función se selecciona. Consulte Matemáticas de tipo genérico para obtener más información.

El hecho de llamar a esta función es similar a llamar a la función equivalente logb y luego convertir el valor devuelto a int.

Requisitos

Routine Encabezado C Encabezado C++
ilogb, ilogbf, ilogbl <math.h> <cmath>
ilogbMacro <tgmath.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

Referencia de función alfabética
frexp
logb, logbf, logbl, _logb, _logbf