Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Granularität von Fließkommazahlen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.09.2013, 10:19 Uhr
banshee



Hallo,

nur eine kurze Verständnisfrage zu folgendem Buchabschnitt:

Es ging um die binäre Fließkommaarithmetik nach IEEE 754, also 1 Bit Vorzeichen, 8 Bit Exponent, 23 Bit Mantisse


Zitat:
Die Genauigkeit einer 32-Bit-Fließokmmazahl hängt von der Granularität des Least Significant Bits (LSB) der Mantisse für einen gegebenen Exponenten ab. Sehr nah bei der 1 liegt die Granularirät einer 32-Bit-Fließkommazahl bei 2^-24. Bei Werten um 1000 ist sie schon 2^-13 und bei Werten um 100000 liegt sie bei 2^-7.


Ich verstehe nicht, was hier genau gemeint ist. Das LSB der Mantisse ist doch dann Bit Nr. 23?! Es klingt nämlich so, als ob sich die Granularität in Abhängigkeit der Größenordnung der darzustellenden Zahl ändert. Wie kann das aber sein? Das LSB einer Zahlendarstellung hat doch eine fixe Wertigkeit und müsste daher immer gleich groß sein?!
Des weiteren ist die Mantisse doch auch immer auf 1,x normalisiert. Wodurch kommen diese Genauigkeitssprünge nun zustande?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.09.2013, 18:33 Uhr
Tommix



Hallo,
die Genauigkeit der Mantisse ist fix, die wird aber mit 2^Exponent multipliziert. Dementsprechend liegen die exakt darstellbaren Zahlen wenn sie groß sind weiter auseinander.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.09.2013, 12:13 Uhr
ao

(Operator)


Die "Granularität" im Sinne von "relativer Fehler" ändert sich nicht, die ist in der Tat vorgegeben durch die Länge der Mantisse.

Was sich natürlich mit dem Exponenten ändert, ist die "Skalierung" des Mantissenwerts oder die Multiplikation mit einem Zweierpotenz-Faktor. Der absolute Fehler wird dabei natürlich mit skaliert.

Stell es dir im 10er-System vor. Angenommen, die Genauigkeit reicht aus, um Pi als 3.14, also mit 3 signifikanten Stellen, anzuzeigen. Dasselbe System soll jetzt den Wert 100*Pi anzeigen. Das Ergebnis ist 314. Über die Nachkommastellen ist keine Aussage möglich. Für den Wert 314.16 (ebenfalls 2 Nachkommastellen) müsste das System eine um Faktor 100 bessere Genauigkeit haben.

Der Knackpunkt ist die Zahl der [b]signifikanten[/] Stellen, das sind die Vor- und Nachkommastellen zusammen. Diese Zahl ist gegeben durch die Länge der Mantisse.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: