====== log() ====== log ist definiert in der ''[[start|math]]'', die in C über ''math.h'', bzw. in C++ über ''cmath'' eingebunden wird. ===== Funktion ===== log berechnet den natürlichen [[wpde>Logarithmus]], also zur Basis e, der Eulerschen Zahl, die etwa 2,7182818284590452 entspricht. ===== Signatur ===== #include double log( double x ); float log( float x ); // nur C++ long double log( long double x ); // nur C++ **x**: Wert, dessen Logarithmus zur Basis e bestimmt werden soll \\ **Return value**: Wert, der als Potenz zu e ''x'' ergibt ===== Fehlerquellen ===== Wird als Parameter ein negativer Wert genommen, so wird die globale Variable [[c:lib:errno:start|errno]] auf EDOM gesetzt. Ist ''x'' gleich Null, so wird -[[HUGE_VAL]] zurückgegeben und [[c:lib:errno:start|errno]] auf ERANGE gesetzt. ===== Beispiel ===== #include // für EXIT_SUCCESS #include // für log10 #include // für printf() int main( void ) { double value = 10000; double power; power = log( value ); printf( "e^%f entspricht %f\n", power, value ); return EXIT_SUCCESS; } Ausgabe: e^9.210340 entspricht 10000.000000 ===== Hinweis ===== Wer das Ergebnis des Beispielprogramms mit dem aus [[exp()]] vergleicht, wird feststellen, dass es hier zu Ungenauigkeiten kommt, die darin begründet liegen, dass Fließkommazahlen in den seltensten Fällen eine exakte Repräsentation von Zahlen ermöglichen. ===== siehe auch ===== [[c:lib:math:start|math]]: [[c:lib:math:exp()]], [[c:lib:math:pow()]], [[c:lib:math:log10()]] \\