Eulersche Zahl
-
Hi !
kann mir einer sagen welche header-Datei ich includieren muss um die Eulersche Zahl e zur Verfügung zu haben und wie man sie dann aufruft.
Außerdem verstehe ich was nicht. Ich hab folgendes:double potenz (double basis, int exponent)
{return exp==0 ? 1 : basis*potenz(basis, exponent-1);}Das gibt mir aber für potenz(1+1/m,m) 1 zurück wenn m als integer übergeben wird. Wieso ?
-
cstdio
laut google:
http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=welche+C%2B%2B+Headerdatei+für+eulersche+Zahlen&spell=1MfG Max
-
ich glaub weder pi noch e sind irgendwo als konstanten drinn, aber da man e praktisch eh nur im zusammenhang mit potenzen brauch, gibt es die funktion double exp(double), die genau dafür da ist.
-
Einfach exp(1) aufrufen und du hast die Eulersche Zahl.
Code-Hacker
-
thnx @ all
-
japro schrieb:
ich glaub weder pi noch e sind irgendwo als konstanten drinn, aber da man e praktisch eh nur im zusammenhang mit potenzen brauch, gibt es die funktion double exp(double), die genau dafür da ist.
Doch, in math.h (auch in cmath?) gibt es M_PI etc. Weiß aber nicht ob das Standard ist. Allerdings muss man afaik auch irgendein #define setzen um die benutzen zu können. Lieber selbst sowas machen.
const double E = exp(1.);
-
M_PI usw. gibts beim gcc, wenn das -ansi-Flag nicht gesetzt ist. IMHO fährt man für portable Programme am besten, wenn man die Konstante literal definiert, also simply const long double euler = 2.7182818284590452353602874713526625L ; // aus /usr/include/math.h rauskopiert *g*
-
Die eulersche Zahl e ist im math.h drinnen. Du musst "#define _USE_MATH_DEFINES" vor "#include <math.h>" schreiben damit die Mathematik definitionen verwendet werden e ist in diesem Falle: M_E
Beispielprogramm:
#include <iostream>#define _USE_MATH_DEFINES
#include <math.h>int main()
{
std::cout << "Ich bin die eulersche Zahl e: " << M_E << std::endl;
return(0);
}
-
@Louarn respekt, 17 Jahre duerfte nen rekord darstellen
-
Also beim gcc ist diese als
M_E
in math.h definiert. Wie Bashar richtig bemerkte.