Rundungsfehler bei Floatoperationen? Kategorie: Programmierung Basic (von Montelucon - 30.11.2008 10:38) | ||
| ||
Hallo, leider eine mega groÃ?es Problem. Ich habe eine Uhr realisiert, die leider bereits nach sehr kurzer Zeit immer ungenauer wird. Am Anfang dachte ich es liegt an der Taktfrequenz die durch einen ungenauen Quarz abweicht. Doch es scheint an Rundungsfehlern zu liegen. Beispiel: ------------------------------------------------------------------------------------------------------------- Dim test As Single Dim hochrunter As Single Dim schrittweite As Single Sub main() test = 35.0 hochrunter = -1.0 schrittweite = 0.2 Do While 1 rechne() End While End Sub Sub rechne() test = test + (hochrunter * schrittweite) End Sub ------------------------------------------------------------------------------------------------------------- Das Ergbnis ist leider nicht wie erwartet: test = 34.80000 test = 34.60000 sondern test = 34.79999 test = 34.79998 usw. Was mache ich falsch, bzw. was kann ich machen um den Fehler zu beheben? GruÃ? Monte | ||
Antwort schreiben Antworten: Re: Rundungsfehler bei Floatoperationen? (von PeterS - 30.11.2008 23:02) Re: Rundungsfehler bei Floatoperationen? (von Montelucon - 1.12.2008 0:33) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum