Sinus
-
b7f7 schrieb:
Erhard Henkes schrieb:
Dass Computer nicht rechnen können, ist bereits weitgehend bekannt.
und dies beweist was? das menschen nicht rechnen koennen? weil sie die computer bauen/programmieren/vom Schreibtisch schubsen? und dies beweist was? das Gott nicht rechnen kann... ouch... hihihi
falsch (oder flasch). es beweist, dass menschen dass und das nicht auseinander halten können.
sorry.
-
Fassen wir doch mal zusammen:
Selbst mit PI = 3.14159265358979323846 schaffen wir es mit einfachen C++-Mitteln nicht, als Resultat von sin(180°) eine saubere und glatte Null zu liefern. Das ist doch wirklich armselig (oder schreibt man das inzwischen "armseelig"?) und zeigt den Zustand heutiger Rechner und Software deutlich.Anmerkung: M_PI ist zwar in math.h bei Dev-C++ enthalten, aber nicht bei MSVC++6. Die genauere Zahl PI wird auf 3.1415926535898 abgeschnitten, wenn ich das im Debugger richtig sehe. Damit erhält man als sin(3.1415926535898 ) 1.2246063538224e-016. Mit "PI=2*asin(1);" verbessert sich die Situation kein Bisschen (früher: Bißchen).
Mit dem Calculator von MS Windows erhält man übrigens:
sin(3.1415926535898 ) = -6,7615373566167204971157727028368e-15Nimmt man den genaueren Wert wie in M_PI definiert, so findet man mit dem MS Calculator:
sin(3,14159265358979323846) = 2,6433832795028841970936031444713e-21
Also (fast) keine Chance mit normalen C++ Bordmitteln.
MS Calculator zeigt übrigens folgendes PI: 3,1415926535897932384626433832795
-
naja vielleicht haben computer bei "gewissen" floatingpoint operationen ein kleines darstellungsproblem
aber bei ganzzahlarithmetik sind sie ja wohl unschlagbar *gg*
bye
tt
-
Ganzzahlarithmetik? das endet doch auch ruckzuck irgendwo bei 10 ^ 18 (long long). Alles nicht überzeugend. Der Einsteiger ist hier umgehend auf Spezialbibliotheken angewiesen, die langsam und kompliziert sind.
-
das war auf die geschwindigkeit bezogen...nich auf die begrenzte größe und so langsam sind ja wohl die spezialbibliotheken auch nicht
bye
tt
-
TheTester schrieb:
und so langsam sind ja wohl die spezialbibliotheken auch nicht
Na also der Prozessor kann mit dem Typ "int" sicherlich 10-100 Mal so schnell rechnen wie mit einer Spezialbibliothek...
MfG SideWinder
-
das is mir schon klar...aber dieses langsam von erhard...das klang so nach nem richtigen total unglaublich langsam
bye
-
Erhard Henkes schrieb:
Fassen wir doch mal zusammen:
Selbst mit PI = 3.14159265358979323846 schaffen wir es mit einfachen C++-Mitteln nicht, als Resultat von sin(180°) eine saubere und glatte Null zu liefern. Das ist doch wirklich armselig (oder schreibt man das inzwischen "armseelig"?) und zeigt den Zustand heutiger Rechner und Software deutlich.Anmerkung: M_PI ist zwar in math.h bei Dev-C++ enthalten, aber nicht bei MSVC++6. Die genauere Zahl PI wird auf 3.1415926535898 abgeschnitten, wenn ich das im Debugger richtig sehe. Damit erhält man als sin(3.1415926535898 ) 1.2246063538224e-016. Mit "PI=2*asin(1);" verbessert sich die Situation kein Bisschen (früher: Bißchen).
Mit dem Calculator von MS Windows erhält man übrigens:
sin(3.1415926535898 ) = -6,7615373566167204971157727028368e-15Nimmt man den genaueren Wert wie in M_PI definiert, so findet man mit dem MS Calculator:
sin(3,14159265358979323846) = 2,6433832795028841970936031444713e-21
Also (fast) keine Chance mit normalen C++ Bordmitteln.
MS Calculator zeigt übrigens folgendes PI: 3,1415926535897932384626433832795
nicht vergessen das die double in MSVC++ nur float ist.
und somit ist das errechnete in der Maschinen Rechengenauigkeit.
-
long double ist gleich double, aber nicht double gleich float. Kannst Du mit sizeof(...) checken.
-
oops jo
passiert eifer des nicht denkens