ldexp()

ldexp ist definiert in der math, die in C über math.h, bzw. in C++ über cmath eingebunden wird.

Funktion

ldexp multipliziert den übergebenen Faktor mit zwei um den Exponenten potenziert. (result = factor * 2exp)

Signatur

#include <math.h>
double      ldexp(      double factor, int exp );       
float       ldexp(       float factor, int exp );  // nur C++
long double ldexp( long double factor, int exp );  // nur C++

factor: Wert, mit dem die Potenz von exp zur Basis 2 multipliziert wird
exp: Exponent zur Basis zwei

Return value: Ergebnis der Formel result = factor * 2exp

Fehlerquellen

-

Beispiel

#include <stdlib.h> // für EXIT_SUCCESS
#include <math.h>   // für log10
#include <stdio.h>  // für printf()
 
int main( void )
{
  double factor = 3;
  double exp = 2;
  double result;
 
  result = ldexp( factor, exp );
 
  printf( "%f * 2^%f entspricht %f\n", factor, exp, result );
 
  return EXIT_SUCCESS;
}

Ausgabe:

3.000000 * 2^2.000000 entspricht 12.000000

Hinweis

ldexp lässt sich mit frexp() umkehren. Der Faktor darf beliebig gewählt sein und muss nicht größer -1.0 und kleiner 1.0 sein, wie er bei frexp() zurückgegeben wird. Größere Werte als +1.0, bzw. kleinere Werte als -1.0 als factor werden in den Exponenten umgerechnet.

siehe auch