While_Schleife - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: While_Schleife (/Thread-While-Schleife) |
While_Schleife - dottore - 11.02.2009 16:19 Guten Tag Allerseits.. Vor einiger Zeit hatten wir bei uns eine Klausur. Bei dieser programmierte ein Student folgendes Beispiel.. siehe jpg. Mir ist schon klar, dass es nicht optimal ist Gleichheit zu kontrollieren.. aber trotzdem, warum kann hier das Programm nicht stoppen?? Ist das ein Rundungsfehler? Auf jeden Fall, hatte er zudem keine Stoppuhr drin.. so war das Memory schnell voll und der Student fertig mit seinen Nerven.. Er darf aber jetzt zur Nachklausur, immerhin.. Kann mir da jemand weiterhelfen warum dem so ist?? viele Grüsse While_Schleife - eg - 11.02.2009 16:27 ' schrieb:Ist das ein Rundungsfehler? Genau das ist es! While_Schleife - TSC - 11.02.2009 16:32 ' schrieb:Guten Tag Allerseits.. Die Abweichung beträgt 1,77636E-15! das ist nciht viel, aber ausreichend, um einen Unterschied darzustellen. und damit hast du auch die Begründung warum man nciht auf gleichheit prüfen sollte, bei verwendung von fließkommazahlen. While_Schleife - IchSelbst - 11.02.2009 16:51 ' schrieb:Die Abweichung beträgt 1,77636E-15!Gleitkommazahlen (double, single etc) haben den Nachteil, dass manche dieser Zahlen nicht genau so abgespeichert werden können, wie sie am Bildschirm erscheinen. Das liegt am Aufbau der Zahl mit Mantisse und Exponent. Guckst auch WikiPedia etc. Steht da z.B. 0,1 so ist der abgespeicherte Wert (möglicherweise) 0,1000000000000000123. Und da hier gemeinerweise alles in 40 Schritten über ein Schiebereigster geht, findet sich bestimmt irgendeine Zahl auf der Reihe mit delta=0,1, die eben nicht genau ist. |