Beiträge von Mike im Thema „Bug im Basic? Super Simpel aber hää?“


    Ich frage mich nur, wenn das Basic als Ebene schon zwischen Benutzer und Prozessor ist und ich sage, er soll in 0.1 Schritten hochzählen, dann könnte doch das Basic so schlau sein und es so interpretieren, das korrekte Werte rauskommen. Immerhin kann man es wie oben im Beispiel ja auch anders berechnen.


    Es gilt aber immer noch die alte Regel: Ein Computer tut das, was Du schreibst, nicht das was Du willst.

    Mit den Fußangeln, die bei den Berechnungen mit den Fließkommazahlen auftreten können, beschäftigt sich die numerische Mathematik. Und in der Anwendung bei Computern lernt man da so ziemlich am Anfang, daß man FOR-Schleifen niemals (nie, nicht) mit gebrochenen Schrittweiten verwenden sollte, eben weil sich da die Rundungsfehler beliebig aufakkumulieren können - und zwar völlig unabhängig von gewähltem Computer, Betriebssystem und Sprache. Braucht man aber so eine Abfolge von Zahlen, so setzt man die FOR-Schleife stets nur als Zählschleife ein, und rechnet die Werte der Folge an Hand der ganzzahligen Laufvariable mit einem Rechenausdruck aus, genauso wie FXXS das gemacht hat.