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 de <tgmath.h> para llamar a esta función, ilogb
siempre toma y devuelve un 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> |
ilogb Macro |
<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