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 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 , ilogbf ilogbl |
<math.h> | <cmath> |
ilogb -Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Weitere Informationen
Alphabetische Funktionsreferenz
frexp
logb
, , logbf
logbl
, , _logb
_logbf