ilogb, ilogbf, ilogbl

Belirtilen değerin sapmasız 2 tabanı üssünü temsil eden bir tamsayı alır.

Sözdizimi

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

Parametreler

x
Belirtilen değer.

Dönüş değeri

Başarılı olursa, bu işlevler değeri olarak signed int base-2 üssünü x döndürür.

Aksi takdirde, işlevler math.h> dosyasında <tanımlanan aşağıdaki değerlerden birini döndürür:

Giriş Sonuç
±0 FP_ILOGB0
± INF, ± NAN, IND FP_ILOGBNAN

Hatalar içinde _matherrbelirtildiği gibi bildirilir.

Açıklamalar

C++ aşırı yüklemeye izin verdiğinden, bu alma ve dönüş float ile long double türlerinin ilogb aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h makrosunu <kullanmıyorsanız, ilogb her zaman bir doublealır ve döndürür.>

tgmath.h>ilogb() makroyu <kullanırsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .

Bu işlevi çağırmak eşdeğer işlevi çağırmaya logb ve ardından dönüş değerini değerine dönüştürmeye intbenzer.

Gereksinimler

Yordam C üst bilgisi C++ üst bilgisi
ilogb, ilogbf, ilogbl <math.h> <cmath>
ilogb Makro <tgmath.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Alfabetik işlev başvurusu
frexp
logb, logbf, logbl, _logb, , _logbf