Java Programm < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | Betrachten sie die folgenden Anweisungen:
float a,b,c;
...
a = 1 + (float) Math.pow(2,-30);
b = 1 - (float) Math.pow(2,-30);
c = a-b;
a) wie gross sollte c mathematisch sein?
b) wie gross wird c auf dem Computer?
c) wie gross ist der absolute und relative Fehler
d) zeigen sie, wieso der Fehler auftritt |
In Java werden ja a und b zu Eins und c zu Null. Bei der Begründung habe ich etwas Mühe, die Potenz -30 ist ja im Typ float noch problemlos darstellbar, warum tritt dann der Rundungsfehler trotzdem auf?
Und was ist der Unterschied zwischen dem absoluten und relativen Fehler?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:16 Mi 17.11.2010 | Autor: | chrisno |
Was passiert denn wenn dann zu 1 addiert wird? Ich nehme mal an, das keine Wandlung in integer erfolgt. Wie wird denn die 1 in float dargestellt? Was muss dem für die Addition mit dem Exponenten passieren?
Absoluter Fehler: Nimm das richtige Ergebns und das falsche und bilde die Differenz
relativer Fehler: Nimm den absoluten Fehler und teile ihn durch das richtige Ergebnis (um wieviel Prozent liegt man daneben?)
|
|
|
|