log ist definiert in der math
, die in C über math.h
, bzw. in C++ über cmath
eingebunden wird.
log berechnet den natürlichen Logarithmus, also zur Basis e, der Eulerschen Zahl, die etwa 2,7182818284590452 entspricht.
#include <math.h> 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
Wird als Parameter ein negativer Wert genommen, so wird die globale Variable errno auf EDOM gesetzt. Ist x
gleich Null, so wird -HUGE_VAL zurückgegeben und errno auf ERANGE gesetzt.
#include <stdlib.h> // für EXIT_SUCCESS #include <math.h> // für log10 #include <stdio.h> // 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
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.