Größte Floatzahl ohne Rundungsfehler

Mrbrown

Grünschnabel
Hi, ich denke zwar das ich vll nicht im ganz richtigen Forum bin, aber bis jetzt wurde mir hier immer super geholfen und ich glaube auch, dass das hier die meisten wissen:)


Zu meiner Frage: In der Uni ging es darum die größte darstellbare floatzahl ohne rundungsfehler zu finden.

ich wäre zu der lösung gekommen das dies 1,1111..11 x2^23 ist .....das ergebnis wäre aber 1,0000..0x2^24.

Könnte mir das jemand vielleicht kurz erklären, ich versteh es nicht ganz.

Ich sage auf jeden fall schon einmal danke:)
 
Also, wenn wir hier von den üblichen IEEE754-Float-Formaten reden,
und "größer" in dem Sinn "100000 ist größer als 100" zu verstehen ist,
ist beides falsch.

Nicht genau nachgerechnet, aber laut Wikipedia wäre es für 23bit Mantisse und 8bit Exponent
1111 1111 1111 1111 1111 1111 * 2^104
was dezimal ca. 3.4 * 10^38 ist.

Die Einserkette oben hat 24bit, Potenz 104+24=128 = 2^8 / 2 wegen +/-
Und 24 statt 23 wegen dem impliziten Einser und was es noch an "Features" gibt.
Klingt sinnvoller als etwas mit 2^23


Kannst du uns genauer sagen, woher diese Angabe und angebliche Lösung kommen etc.?
Vielleicht hilft ja der Zusammenhang herauszufinden, was da gemeint ist
(oder zu erkennen, dass es wirklich einfach falsch ist)
 
hey, die aufgabe ist aus meiner übungsstunde heute von der Fh...ich kopier sie mal rein.

Bis zu welcher größten ganzen Zahl ̂ lassen sich alle ganzen Zahlen ohne Rundungsfehler als
float – Zahlen abbilden? Ermitteln Sie das Bitmuster (in IEEE 754 – Darstellung) und den
dezimalen Wert für diese Zahl.

Hab mir das jetzt daheim nochmal angeschaut, aber versteh es nicht so richtig.
 
Ohne mich damit perfekt auszukennen,

vielleicht hilft dir das hier etwas weiter: http://www.cplusplus.com/forum/general/67783/#msg361561

@sheel : ich glaube du hast dort die maximal mögliche Zahl stehen, aber eben nicht die maximal mögliche Zahl ohne Rundungsfehler (siehe Link).

Auch vielleicht hilfreich: http://de.wikipedia.org/wiki/Einfache_Genauigkeit#mediaviewer/File:Float_example.svg
somit gibt es 23Bits für die einfache Darstellung. 24 wäre es nur bei "unsigned float", aber die gibt es schlicht nicht.

Ich "plädiere" für 2^23-1 als Antwort auf deine Frage.

korrigiert mich, ich kann auch falsch liegen ;)
 
Ich denke sheel ist hier schon auf dem richtigen Weg. Die von ihm genannte Zahl lässt sich ja 1:1 ins bitmuster von IEEE 754 übertragen, ergo wird nicht gerundet.

So am Mobiltelefon und ohne gross Zeit ist mir aber nicht ganz klar warum der Exponent -24 gerechnet wird.
 
Ja, ich verstehe wie du es meinst. Sheels Zahl wird korrekt und ohne Probleme dargestellt. Aber sheels Zahl minus Eins sollte nicht mehr korrekt dargestellt werden. Daher komme ich auf 2^23-1. (Im Sinne von im Bereich [0..2^23-1] kann jede Zahl korrekt dargestellt werden, darüber hinaus nur noch wenige, bestimmte Zahlen]
Ergibt das so Sinn?
 
Dass sheels Zahl - 1 nicht mehr ohne Runden dargestellt werden kann ist durchaus möglich, schliesslich deckt sich das 2er-System nicht mit dem 10er System (0.1 ist nicht endlich unperiodisch darstellbar bezüglich Basis 2). Das ist aber ja auch nicht zentral in der Frage, da geht es ja um die grösste Zahl, die ohne zu runden darstellbar ist.

Sheels Ausführungen haben nur ein Problem:
NaN, Inf, etc

Mehr muss ich wohl dazu nicht sagen ;)

Grüsse
Cromon
 
So wie ich das verstehe, ist an kickerxy´s Interpretation schon was dran.
Bis zu welcher größten ganzen Zahl lassen sich alle ganzen Zahlen ohne Rundungsfehler als float – Zahlen abbilden
(wurde ja erst nahdc meinem ersten Post geschrieben).
 

Neue Beiträge

Zurück