Hallo!

> Also meiner Bescheidenen Meinung nach darf bei 100*2.55 immer nur 255 
> rauskommen, und zwar egal ob ich double oder float oder was auch immer 
> benutze. Alles andere ist mathematisch einfach falsch und kann auch 
> nicht durch Speicherbegrenzung schoen geredet werden. Das es bei 
> "komplizierten" Rechnungen (also 1.2324324243*2.29832389 oder sqrt(2) 
> z.B.) zu Rundungsfehlern oder aehnlichem kommt, das seh ich ein und 
> damit kann ich auch leben, aber 100*2.55? Kommt schon, die Menschheit 
> will Leute zum Mars schicken und dann soll ich mich damit zufrieden geben?!?

Deine Meinung in allen Ehren, aber jeder, der sich ein bisschen mit
Programmierung auseinandersetzt oder auseinandergesetzt hat, sollte wissen,
dass er/sie bei Berechnungen mit Fliesskommazahlen mit Ungenauigkeiten
auskommen muss.  Wenn man das weiss, dann kann man auch entsprechend agieren
und bspw.  Tests auf Gleichheit (bspw. a == b) vermeiden und statt dessen auf
ganz kleine Differenzen pruefen (z.B. abs(a-b)<0.000001). Oder wo moeglich
ganz auf Fliesskommaarithmetik verzichten.

Das ist nicht schoen, aber leider Fakt. Zumindest habe ich es so gelernt.

Gruss
Dieter

-- 
Dieter Heiliger | [EMAIL PROTECTED]  (private)
                  [EMAIL PROTECTED] (business)
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an