grundfläche eines gleichschenkligen dreiecks berechnen (ohne trigonometrie)





  • danke für den link aber die formeln kenne ich leider schon. hätte da aber noch ein anderes problem: wenn ich pi - mit welcher formel auch immer - berechnen will und die std datentypen von C verwende schaff ich ja nur wenige nachkommastellen... ich will keinen neuen rekordversuch starten aber so 100 oder 1000 bräuchte ich schon. speicher- und rechentechnisch ist das ja kein problem, nur wie setze ich das mit der genauigkeit um? kenne auch den code-project link schon aber es sollte nach möglichkeit kein C++ sein und so einfach wie möglich gehalten sein.



  • http://en.wikipedia.org/wiki/Pi#Numerical_value schrieb:

    While the value of pi has been computed to billions of digits, practical science and engineering will rarely require more than 10 decimal places. As an example, computing the circumference of the Earth's equator from its radius using only 10 decimal places of pi yields an error of less than 0.2 millimeters. A value truncated to 39 decimal places is sufficient to compute the circumference of the visible universe to a precision comparable to the size of a hydrogen atom.[3]

    Ich frag also erneut wieso brauchst du so viele Stellen? und wieso kann du nicht einfach Copy & Paste von irgendeiner Internet Seite machen?

    Wie hast du vor die Stellen zu speichern?



  • Ben04 schrieb:

    und wieso kann du nicht einfach Copy & Paste von irgendeiner Internet Seite machen?

    die berechnung is ja gerade die aufgabe und die paar stellen die man mit double hinkriegt... das wär ja witzlos.

    Ben04 schrieb:

    Wie hast du vor die Stellen zu speichern?

    geht doch problemlos in nem array und dann in hex- oder dezimalform in ne textdatei schreiben oder so. 100 bis 1000 (wenn ich überhaupt so viele brauche) is doch gar nix. nur das rechnen mit denen bereitet mir kopfzerbrechen



  • http://de.wikipedia.org/wiki/Bailey-Borwein-Plouffe-Formel
    Damit soll man die nte hex Ziffer berechnen können. (steht übrigens auch in dem von mir verlinktem Pi Artikel)



  • und auch die kenne ich schon 😉
    erstens is das aber recht kompliziert und zweitens muss ich ja immer noch die formel vom anfang verwenden... bzw ist der sinus teil einer methode zur bestimmung von pi. kann man sich sowas wie die sin funktion nicht selbst basteln?



  • Wo siehst du in der Formel einen Sinus?

    Ich verstehe immer noch nicht was du genau willst.



  • nene ich bräuchte den für ne andere formel... und zwar die, die bei der aufgabe vorgeschrieben ist. aber das ist auch nicht so wichtig... im moment hab ich mehr schwierigkeiten mit der ganauigkeit der zahl.



  • Da ist noch eine Frage von oben offen - wofür brauchst du eine so hohe Genauigkeit?



  • dachte das hab ich schon drei mal erwähnt 😮
    aber der grund ist ganz einfach: die aufgabenstellung ist pi zu berechnen und zwar genauer als ein double die zahl darstellen kann. double mag reichen, wenn man mit pi rechnen will aber nicht wenn man die zahl selbst berechnet. wie viele stellen nach dem komma ist nich der springende punkt, aber wenn ich wüsste wies mit 100 geht dann ließe sich das doch sicherlich auch auf 1000 erweitern... nur eben weiß ich nicht wie man da vorgehen soll.



  • Ich würde Nenner und Teiler des Wallisschen Produkts einzeln ausrechnen und das Ergebnis als Bruch darstellen. Wenn du zwei 64 Bit Ganzzahlen verwendest sollte das schon sehr exakt werden bevor es zum Overflow kommt.



  • Ben04 schrieb:

    Ich würde Nenner und Teiler des Wallisschen Produkts einzeln ausrechnen und das Ergebnis als Bruch darstellen. Wenn du zwei 64 Bit Ganzzahlen verwendest sollte das schon sehr exakt werden bevor es zum Overflow kommt.

    Und um noch genauer zu werden, kannst du BigInt-Datentypen (höre ich da "GMP"?) verwenden.

    btw, das Problem dürfte es weniger sein, Pi entsprechend genau zu berechnen (dafür gibt es genug Lösungsansätze (Wallis-Produkt, Bailey-Borwein-Plouffe, Taylor-Entwicklung des atan,...) - das Problem ist es, die vielen Nachkommastellen zu speichern.


Anmelden zum Antworten