ilogb
, , ilogbf
ilogbl
Pobiera liczbę całkowitą reprezentującą nieprzechycony wykładnik base-2 określonej wartości.
Składnia
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
Określona wartość.
Wartość zwracana
W przypadku powodzenia te funkcje zwracają wykładnik x
base-2 jako signed int
wartość.
W przeciwnym razie funkcje zwracają jedną z następujących wartości zdefiniowanych w <pliku math.h>:
Dane wejściowe | Result |
---|---|
±0 | FP_ILOGB0 |
± INF, ± NAN, IND | FP_ILOGBNAN |
Błędy są zgłaszane zgodnie z określonymi w pliku _matherr
.
Uwagi
Ponieważ język C++ umożliwia przeciążenie, można wywołać przeciążenia tych operacji ilogb
, które przyjmują i zwracają float
i long double
typy. W programie języka C, chyba że używasz makra <tgmath.h> do wywołania tej funkcji, ilogb
zawsze przyjmuje i zwraca wartość double
.
Jeśli używasz makra <tgmath.h>ilogb()
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Wywołanie tej funkcji jest podobne do wywoływania równoważnej logb
funkcji, a następnie rzutowanie wartości zwracanej na int
.
Wymagania
Procedura | Nagłówek języka C | Nagłówek języka C++ |
---|---|---|
ilogb , , ilogbf ilogbl |
<math.h> | <cmath> |
ilogb Makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Odwołanie do funkcji alfabetycznej
frexp
logb
, , logbf
, logbl
, , _logb
_logbf