Thorsten wrote:
> Hi!!
> Möchte gerne mit einem Atmega float-Zahlen berechnen. Wieviel Zahlen
> hinterm Komma sind möglich? Würden Berechnungen mit
> +9,9999999....-9,9999999 funktionieren, also mit 7 Stellen hinterm
> Komma??
> Gruß
float ist auf einem ATmega mit WinAvr 4 Bytes gross.
Normalerweise sagt man, dass das ca. 5, 6 bis 7 signifkante
Stellen bringt.
Achtung: Signifikante Stellen sind nicht gleich Nachkommastellen.
Signifikante Stellen sind alle Stellen beginnend von links.
D.h. mit der Zahl 1234.56
hast du bereits 6 sigifikante Stellen aufgebraucht.
Die Sache wird aber noch schlimmer: Je mehr du mit dem float
rechnest umso mehr Rundungsungenauigkeiten reist du dir auf.
Nach ein paar zig float Rechnereien kann es durchaus sein, dass
du nur noch 4 bis 5 signifikante Stellen übrig hast. Je mehr
du mit einer Variablen rechnest, desto weniger korrekte
signifikante Stellen bleiben übrig. Alles was dann nach
diesen Stellen rechts noch kommt, ist mehr oder weniger 'gelogen'.
Natürlich lässt sich nachvollziehen wie diese 'gelogenen' Stellen
zustande kommen. Sie haben aber nur noch wenig mit dem korrekten
Ergebnis zu tun.