====== ldexp() ====== ldexp ist definiert in der ''[[start|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 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 // für EXIT_SUCCESS #include // für log10 #include // 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 [[c:lib:math:frexp()]] umkehren. Der Faktor darf beliebig gewählt sein und muss nicht größer -1.0 und kleiner 1.0 sein, wie er bei [[c:lib:math: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 ===== [[c:lib:math:start|math]]: [[c:lib:math:frexp()]], [[c:lib:math:pow()]], [[c:lib:math:log()]] \\