ilogb, ilogbf, ilogbl

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 xsigned 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 Angabe in _matherr.

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, ilogb übernimmt und gibt immer ein double.

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 "Typgenerika" .

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, ilogbf, ilogbl <math.h> <cmath>
ilogb-Makro <tgmath.h>

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

Siehe auch

Alphabetische Funktionsreferenz
frexp
logb, logbf, logbl, _logb, _logbf