Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 later
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, , ilogbfilogbl |
<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