Re: Zahlendreher



Hi,

Sebastian Baechle wrote:
Ich wundere mich *nicht* darüber, dass es eine Ungenauigkeit gibt, und erst "d=0.05" und dann "d=0.050000004" ausgegeben wird. Ich wundere mich, dass bei kontinuierlich *steigendem* "Eingabewert" erst (logisch) "d=0.05", dann (logisch) "d=0.050000004 und dann wieder (IMHO nicht mehr logisch) "d=0.05" ausgegeben wird.

Weil es für dich kontinuierlich ist, aber nicht für den Rechner. Du sagst, du
änderst nur die 9 Nachkommastelle und schon "verrechnet" sich der Computer.
Allerdings ist ein Schritt in einer 10er Potenz nichts kontinuierliches und
für die Rechnerdarstellung erst recht nicht zutreffend.

Wie Paul schon festgestellt hat, habe ich den Begriff "kontinuierlich" falsch gewählt. Ersetze "kontinuierlich" durch "monoton". Mein Argument bleibt.


0,1 ist ja auch nicht exakt darstellbar im Rechner. Wenn du nun 0.1f angibst, wird
muss halt gerundet werden, damit dein System.out 0.1 anzeigt. Und wenn dann halt in
deinem Beispiel 0.05 rauskommt, dann passt halt eine Potenz mal exakt bzw es
kann aufgrund von Genauigkeitsproblemen nicht weiter unterschieden werden.

Das ist mir natürlich klar. Das erklärt allerdings das von mir aufgezeigte Phänomen in keinster Weise!


So ist das nunmal mit Fließkommawerten. :-)

Ne, eigentlich nicht!

Ciao,
Ingo

.