von Stephan » So, 23.08.2009 18:20
Nicht das Du es übersehen hast, aber ein interessantes Phänomen ist mir grad aufgefallen.
Wenn man die Ausgangszahl von Chris nimmt, dann wird sie auch noch so dargestellt, wie eingegeben. Tauscht man jetzt allerdings die 0 vorm Komma mit ner 1, dann wird automatisch auf 1,5 gerundet dargestellt. Also 1,499999999999999 wird nicht mehr angezeigt.
Das ist doch aber nur ein Beispiel für das Verhalten worum hier die ganze Diskussion kreist, die maximale Anzahl von Stellen mit der Calc umgehen kann. Es ist völlig egal wie groß die Zahlen sind, sondern es kommt nur auf die Anzahl der signifikannten Stellen (also alle Ziffern außer 0) an. Wenn Du vorne eine 1 anfügst steigt halt die Anzahl der signifikannten Stellen um eine und das ist eine zuviel und Calc muß runden, wegen der konkreten Zahl wird nun gleich auf ,5 gerundet weil alle Nachkommastellen ja 9 lauten und nicht anders gerundet werden kann. Du mkannst vorne gerne eine 1 anfügen, dann mußt Du halt hinten eine 9 wegnehmen und es wird nicht gerundet weil nicht gerundet werden muß.
(würden die relevanten Ziffern z.B. alle 8 lauten, würde exakt genau das Gleiche passieren, nur führt dann die Rundung dazu das lediglich die letzte Stelle auf 9 lautet, und da dadurch kein Übertrag stattfindet bleiben vorherige Stellen bei 8 und die 4 wird nicht zur 5)
Diese Anzahl signifikanter Stellen kann (solange die Rechnung völlig genau sein soll) eine bestimmte Anzahl nicht überschreiten (15 oder 16, ich schrieb das bereits), da wegen der konkreten Rechenoperationen die Dinge teil günstiger liegen und teils ungünstiger ist die Genauigkeit zusätzlich von der Rechenoperation abhängig.
Normalerweise hätte ich eigentlich erwartet, dass sich die Nachkommastellen nicht durch den wechsel von 0 auf 1 anders verhalten.
Dann hast Du nicht verstanden worum es hier geht, es geht NICHT um Größe von Zahlen oder Ähnliches, sondern nur um maximale Anzahl der darstellbaren Ziffern (1 bis 9) bei der Darstellung von Zahlen.
Die Zahl 0,499999999999999 kann noch gerade dargestellt werden, sie hat 15 signifikante Ziffern (eine 4 und vierzehn 9en), die Zahl 1,499999999999999 kann hingegen nicht mehr dargestellt werden denn sie hat eine signifikannte Ziffer zuviel, also muß gerundet werden, was wegen der Besonderheit der 9en als Nachkommastellen zu 1,50000000000000, was Calc zu 1,5 reduziert.
Völlig analoges Verhalten hätte z.B. die Zahl 1,488888888888888, die auch eine signifikannte Ziffern zuviel hat und gerundet werden muß, was jedoch völlig transparent zu 1,48888888888889 führt, weil die 8 ohne Übertrag auf 9 aufgerundet werden kann.
Gruß
Stephan
[quote]Nicht das Du es übersehen hast, aber ein interessantes Phänomen ist mir grad aufgefallen.
Wenn man die Ausgangszahl von Chris nimmt, dann wird sie auch noch so dargestellt, wie eingegeben. Tauscht man jetzt allerdings die 0 vorm Komma mit ner 1, dann wird automatisch auf 1,5 gerundet dargestellt. Also 1,499999999999999 wird nicht mehr angezeigt.[/quote]
Das ist doch aber nur ein Beispiel für das Verhalten worum hier die ganze Diskussion kreist, die maximale Anzahl von Stellen mit der Calc umgehen kann. Es ist völlig egal wie groß die Zahlen sind, sondern es kommt nur auf die Anzahl der signifikannten Stellen (also alle Ziffern außer 0) an. Wenn Du vorne eine 1 anfügst steigt halt die Anzahl der signifikannten Stellen um eine und das ist eine zuviel und Calc muß runden, wegen der konkreten Zahl wird nun gleich auf ,5 gerundet weil alle Nachkommastellen ja 9 lauten und nicht anders gerundet werden kann. Du mkannst vorne gerne eine 1 anfügen, dann mußt Du halt hinten eine 9 wegnehmen und es wird nicht gerundet weil nicht gerundet werden muß.
(würden die relevanten Ziffern z.B. alle 8 lauten, würde exakt genau das Gleiche passieren, nur führt dann die Rundung dazu das lediglich die letzte Stelle auf 9 lautet, und da dadurch kein Übertrag stattfindet bleiben vorherige Stellen bei 8 und die 4 wird nicht zur 5)
Diese Anzahl signifikanter Stellen kann (solange die Rechnung völlig genau sein soll) eine bestimmte Anzahl nicht überschreiten (15 oder 16, ich schrieb das bereits), da wegen der konkreten Rechenoperationen die Dinge teil günstiger liegen und teils ungünstiger ist die Genauigkeit zusätzlich von der Rechenoperation abhängig.
[quote]Normalerweise hätte ich eigentlich erwartet, dass sich die Nachkommastellen nicht durch den wechsel von 0 auf 1 anders verhalten.[/quote]
Dann hast Du nicht verstanden worum es hier geht, es geht NICHT um Größe von Zahlen oder Ähnliches, sondern nur um maximale Anzahl der darstellbaren Ziffern (1 bis 9) bei der Darstellung von Zahlen.
Die Zahl 0,499999999999999 kann noch gerade dargestellt werden, sie hat 15 signifikante Ziffern (eine 4 und vierzehn 9en), die Zahl 1,499999999999999 kann hingegen nicht mehr dargestellt werden denn sie hat eine signifikannte Ziffer zuviel, also muß gerundet werden, was wegen der Besonderheit der 9en als Nachkommastellen zu 1,50000000000000, was Calc zu 1,5 reduziert.
Völlig analoges Verhalten hätte z.B. die Zahl 1,488888888888888, die auch eine signifikannte Ziffern zuviel hat und gerundet werden muß, was jedoch völlig transparent zu 1,48888888888889 führt, weil die 8 ohne Übertrag auf 9 aufgerundet werden kann.
Gruß
Stephan