Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#30

AW: Single wert ist unterschiedlich obwohl gleich

  Alt 19. Jun 2018, 09:19
Sorry, muß mal noch kurz meinen Senf dazugeben. Der Computer rechnet nicht mit reellen Zahlen, sondern mit rationalen Zahlen.
'Der Computer' ist was? Manche Programme rechnen symbolisch mit rationalen Zahlen, nativ ist iA nur Integer- und Fließkommaarithmetik vorhanden, alles andere ist, wenn überhaupt, nur mit Software implementiert.
Das Problem ist, daß wegen der begrenzten Stellenzahl nur die wenigsten rationalen Zahlen überhaupt darstellbar sind.
Richtig: Die Darstellung von rationalen Zahlen braucht keine Stellen nach dem Komma, da sie ja Paare von Integer sind. Und genau da liegt ein viel größeres Problem: Die Größe von Zähler und Nenner (und damit ihr Speicherbedarf) wächst dramatisch schnell, selbst wenn man nach jeder Operation den GGT von Zähler und Nenner herauskürzt: Nimm mal Dein bevorzugtes CAS und rechne einfache Sachen wie (1+3/100)^40 oder Summe(1/n^2, n=1..100) aus, von etwas komplizierteren Sachen ganz zuschweigen. Also ohne Langzahlarithmetik eignet sich die Simulation von rationaler Arithmetik nur für Spielkram oder Übungsaufgaben. Aber wie gesagt, für spezielle Anwendungen angemessen mit Programmen wie Mathematica oder Maple.

Allerdings muß man beachten, daß die Operationen der Rational-Arithmetik dann nicht mehr in konstanter Zeit abgewickelt werden können, sondern mit Zähler- und Nennerlänge ansteigen, auch wenn Bruchwert sich nur wenig ändert, siehe das Summenbeispiel.
Wer mit dem Rechner tatsächlich rechnet im traditionellen Sinn, dem sei The Art of Programming, vol. 1 von Knuth dringend ans Herz gelegt. Leider wird das Thema auch während der Ausbildung nur stiefmütterlich behandelt.
Dem kann man nur zustimmen, obwohl wichtiger erscheint mir doch da Vol 2. Kapitel 4, es sei denn, Du willst alles in MIX programmieren.
  Mit Zitat antworten Zitat