Udostępnij za pośrednictwem


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 Wynik
±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