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 _matherr
belirtildiğ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 double
alı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 int
benzer.
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