// Warum kein pow/float zu verwenden war // // man teste mit hinreichendgroesser Eingabe: // float versagt schon bald, bei mir auch schon bei 700, das kann aber von der internen Zahlendarstellung abhaengen. // die beiden anderen bei einer eingabe zwischen 9001 und 9999 // #include #include #include using namespace std; main(){ int n; unsigned long long n2,n4,n4pow; float fn4pow; double dn4pow; cout <<"n einlesen "<>n; n2=n*n; n4=n2*n2; /* folgender Block ist mit meinem Compiler (gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r2, propolice)) nicht kompatibel: // kein warning n4pow = pow(n2,2); dn4pow = pow(n2,2); fn4pow = pow(n2,2); ende block */ // daher (und damit wirds mit pow umstaendlich): n4pow = (unsigned long long) pow((double)n2,2); dn4pow=pow((double)n2,2); // eigentlich sollte man hier mit float rechnen da das ergebnis auch nur float ist. // wir rechnen aber vorerst genau und speichern das ergebnis ungenau. fn4pow=pow((double)n2,2); cout<<"Eingabe: n = "<