Sdílet prostřednictvím


ilogb, , ilogbfilogbl

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, , ilogbfilogbl <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