Frage von Blackskater, 50

Bis von welcher Nachkommastelle rechnet der Computer bei der irrationalen Zahl PI?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von hypergerd, Community-Experte für Mathematik, 13

Computer führen nur Befehle der Menschen aus!

Die ganzen Sprachen, die vom Menschen "drübergelegt" werden (c, Pascal, JAVA) lasse ich mal weg...

Maschinenbefehl

FLDPI läd die Konstante Pi mit 80 Bit in ein FPU-Register st0

was etwa 19 Dezimalstellen sind.

90% aller Sprachen nutzen jedoch den Datentyp double, also nur etwa 15 dezimalen Stellen.

Da wird noch nichts gerechnet, sondern ein fester Wert geladen.

Wer rechnen will , kann Pi=atan(1)*4 rechnen:

fld     qword [Adresse,wo 4 steht] ; Load 4.000000
fld1    ; Load constant 1 in st0; st1=4
fpatan  ;st0=atan(st0)
fmul st0,st1  ;st0=st0*st1

Neue CPUs und Betriebssysteme nutzen auch die schnellen AVX Befehle, wo 4 double Register parallel rechnen können (64 Bit real).

Wer mehr Stellen benötigt, kann unter

http://www.gerdlamprecht.de/Kreiszahl.htm

zig schnelle Algorithmen mit Datentypen wie String oder Array optimieren.

y-cruncher schafft mit i7 CPU in etwa 4 min 1 Mrd. Stellen.

Weltrekord sind 13.3 Bio. Stellen.

Mit BBP-Algorithmen kann man die 5*10^14 hexadezimale Stelle berechnen ohne die vielen Stellen davor.

Bei noch mehr Stellen kommt man an die Lebensdauer der Bauelemente:

Bei über 10 Festplatten und über 100 Tage Schreibzeit verabschieden sich immer Sektoren -> RAID nötig...

Kommentar von hypergerd ,

siehe auch https://de.wikipedia.org/wiki/Doppelte_Genauigkeit

8 Byte = 64 Bit je nach Zahl 15 bis 16 dezimale Stellen

Antwort
von Roach5, 23

Das kommt auf dein Programm an.

In den meisten Standardprogrammen werden für Berechnungen Double-Precision-Fließkommazahlen verwendet, diese haben 15 signifikante Stellen, dementsprechend definierst du 15 Stellen. Alternativ kannst du mehr Stellen definieren, mit diesen können Rundungsfehler passieren.

Was es auch gibt ist Arbitrary-Precision-Arithmetik, hier wird genauso gerechnet wie mit Double-Precision-Zahlen, allerdings wird so viel Speicherplatz für eine Zahl verbraucht wie gerade benötigt wird, du kannst also beliebig hohe Rechengenauigkeit einstellen, dies Rechnung mit höherer Genauigkeit dauert aber natürlich länger und verbraucht mehr Platz. In solchen Systemen arbeiten die meisten CAS-Systeme, die erst so viel wie möglich symbolisch rechnen, und dann bei Bedarf beliebig genau runden.

LG

Antwort
von HerrPaps, 29

Das hängt sehr stark davon ab, was für einen Computer/Programm du benutzt. Meistens sind es aber so viele Stellen nach dem Komma, dass du dir keine Gedanken über Rundungsfehler machen musst. 

(Der Standartrechner von Win 7 rechnet mit 31 Stellen nach dem Komma, wenn man ihn auf " Wissenschaftlicher Rechner" einstellt. Das Online-Programm Wolfram Alpha zeigt dir wahrscheinlich die ersten paar Tausend Stellen an, wenn du möchtest.) 


Kommentar von hypergerd ,

Interessant wird WolframAlpha bei höheren Funktionen.

AppellF1[-1/2,-1/100,1/100+1/2,3/2,1,1]*4

erkennt er das Ergebnis Pi und gibt Pi aus.

Bei AppellF1(5/10,7/10,8/10,9/10,85/100,76/100)

kommt kein Ergebnis!

http://www.lamprechts.de/gerd/php/RechnerMitUmkehrfunktion.php

berechnet richtig 
4.5282187530550204497220901840416885...

Antwort
von kepfIe, 22

Was meinst du mit "Computer"? Das is unterschiedlich. In C ist Pi auf 20 Nachkommastellen definiert, zum Beispiel.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten