Freigeben über


ilogb, ilogbfilogbl

Ruft eine Ganzzahl ab, die den unausgewogenen Basis-2-Exponenten des angegebenen Werts darstellt.

Syntax

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

Parameter

x
Der angegebene Wert.

Rückgabewert

Bei erfolgreicher Ausführung geben diese Funktionen den Basis-2-Exponenten als x signed int Wert zurück.

Andernfalls geben die Funktionen einen der folgenden Werte zurück, die in <math.h> definiert sind:

Eingabe Ergebnis
±0 FP_ILOGB0
± INF, ± NAN, IND FP_ILOGBNAN

Fehler werden gemäß der Angaben in _matherr gemeldet.

Hinweise

Da C++ das Überladen zulässt, können Sie Überladungen von ilogb aufrufen, die float und long double-Typen verwenden und zurückgeben. In einem C-Programm, es sei denn, Sie verwenden das Makro <tgmath.h>, um diese Funktion aufzurufen, übernimmt ilogb und gibt immer ein double zurück.

Wenn Sie das Makro <tgmath.h>ilogb() verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.

Das Aufrufen dieser Funktion verläuft auf die gleiche Weise wie das Aufrufen der entsprechenden logb-Funktion und die anschließende Umwandlung des Rückgabewerts int.

Anforderungen

Routine C-Header C++-Header
ilogb, ilogbfilogbl <math.h> <cmath>
ilogb-Makro <tgmath.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Weitere Informationen

Alphabetische Funktionsreferenz
frexp
logb, , logbflogbl, , _logb_logbf