ilogb
, , ilogbf
ilogbl
Načte celé číslo, které představuje nestranný exponent base-2 zadané hodnoty.
Syntaxe
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
Parametry
x
Zadaná hodnota.
Vrácená hodnota
V případě úspěchu vrátí tyto funkce exponent x
base-2 jako signed int
hodnotu.
V opačném případě funkce vrátí jednu z následujících hodnot definovaných v <math.h>:
Vstup | Výsledek |
---|---|
±0 | FP_ILOGB0 |
± INF, ± NAN, IND | FP_ILOGBNAN |
Chyby jsou hlášeny, jak je uvedeno v _matherr
.
Poznámky
Vzhledem k tomu, že jazyk C++ umožňuje přetížení, můžete volat přetížení ilogb
, která přebírají a vracejí float
a long double
typy. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, ilogb
vždy přebírá a vrací hodnotu double
.
Pokud použijete <makro tgmath.h>ilogb()
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Volání této funkce je podobné volání ekvivalentní logb
funkce a přetypování návratové hodnoty na int
.
Požadavky
Rutina | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
ilogb , , ilogbf ilogbl |
<math.h> | <cmath> |
ilogb makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Abecední odkaz na funkci
frexp
logb
, logbf
, logbl
, , _logb
_logbf