Maschinengenauigkeit bestimmen

Neue Frage »

TwoStone Auf diesen Beitrag antworten »
Maschinengenauigkeit bestimmen
Guten Abend liebe Informatiker/Mathematiker,

Ich soll experimentell die Maschinengenauigkeit eines Computers bestimmen, dazu habe ich folgenden Algorithmus geschrieben:

eps = tmp = 1
while tmp+1 > 1 {
eps = tmp
tmp = tmp/2
}

-> Ergebnis in eps

Mein Gedanke dabei 2 Variablen zu nutzen, war dass eps die kleinste von null nicht zu unterscheidende Zahl sein muss und ich so tmp am ende wieder um 2 erhöhen hätte müssen.

Meine Frage, kommt da wirklich die exakte Maschinengenauigkeit raus, oder ist das nur genähert? Wenn es die genaue ist, wieso? Wenn nicht, wieso nicht?

Nur um das nochmal genauer zu erläutern, ich verstehe nicht, wieso man mit ständigem halbieren genau auf dieser Zahl landet, denn angenommen die Genauigkeit wäre bei 3/4, dann wäre 1/2 bereits 0, und das Ergebnis von eps wäre 1, obwohl es 3/4 sein sollte. Ich hoffe das verdeutlicht das Problem etwas smile .
HAL 9000 Auf diesen Beitrag antworten »

Da steckt die Überlegung dahinter, dass derartige Floatingpoint-Zahlen i.d.R. im Binärformat abgespeichert werden. Sieh dir Standard IEEE 754 an, dann weißt du was ich meine.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »