Spacerat hat geschrieben:
Zumindest ist Mathematika in einer Programmiersprache geschieben und kann nur auf entsprechenden Prozessoren ausgeführt werden. All diese Programmiersprachen haben eine Gemeinsamkeit - die nutzbare Hardware. Damit sind nicht nur die Programmiersprachen von solchen Beschränkungen betroffen, sondern auch die damit erzeugten Produkte. Programmtechnisch hat man natürlich die Möglichkeit, Mechanismen zu implementieren, die z.B. eine höhere Genauigkeit zulässt (z.B. BigFloat in c++ oder BigDecimal in Java). Solche Mechanismen benutzen aber nicht mehr direkt die Hardware, wodurch sie unter Umständen recht langsam werden, weswegen man die Nutzung solcher Mechanismen stets explizit angeben muss, auch in Mathematica. JucktDieFress denkt (du etwa auch?), Mathematika würde dies automatisch machen. Dies aber ist definitiv unmöglich, weil man früher oder später (z.B. bei der Berechnung von PI) auf Endlosbrüche (und damit auf Endlosschleifen!) stößt.
Was Mathematica intern nun genau tut, ist natürlich nicht bekannt, da der Sourcecode wohl ein Geschäftsgeheimnis ist. Aber es gibt ja FOSS CAS Implementationen, da kann man sich sowas natürlich anschauen.
Ich wage dennoch die Behauptung, dass Mathematica Zahlen nicht als 32/64-Bit Literal darstellt, sondern eine abstrakte Darstellung verwendet, mit der sich dann entsprechend symbolisch rechnen lässt. Und aus der Nutzung von Mathematica kann ich bestätigen, dass diese symbolische Darstellung der Default ist. Man muss Mathematica explizit angeben, dass man eine numerische Rechnung möchte.