frexp, frexpl
Nach oben zu math.h - Index
Header-Datei
math.h
Kategorie
Mathematische Routinen
Prototyp
double frexp(double x, int *exponent);
long double frexpl(long double x, int *exponent);
Beschreibung
Teilt eine Zahl in Mantisse und Exponenten auf.
frexp berechnet die Mantisse m (einen Wert vom Typ double, der größer oder gleich 0,5 und kleiner 1 ist) und den Integerwert n, derart dass x (der ursprüngliche double-Wert) gleich m * 2n ist. frexp speichert n in dem Integerwert, auf den exponent zeigt.
frexpl ist die long double-Version. Sie benötigt ein Argument vom Typ long double und gibt ein Ergebnis vom Typ long double zurück.
Rückgabewert
frexp und frexpl geben die Mantisse m zurück. Die Fehlerbehandlung für diese Funktionen kann über die Funktionen _matherr und _matherrl geändert werden.
Beispiel
#include <math.h>
#include <stdio.h>
int main(void)
{
double mantissa, number;
int exponent;
number = 8.0;
mantissa = frexp(number, &exponent);
printf("The number %lf is ", number);
printf("%lf times two to the ", mantissa);
printf("power of %d\n", exponent);
return 0;
}
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
frexp |
+ |
+ |
+ |
+ |
frexpl |
+ |
+ |
+ |