Re: Rechengenauigkeit von float Variablen Kategorie: Verschiedenes (von PeterS - 8.04.2009 17:52) | |
Als Antwort auf Rechengenauigkeit von float Variablen von ThomasJ - 8.04.2009 16:00
| |
> Hallo, > > Ich setze die IDE 1.71 ein > Bei der Aufsummierung einer Floatvariablen habe ich das folgende Problem > > Var=1.0; > Var=Var+0.1; > > Ausgabe bei 6.1 beträgt 6,09999 > > Bereits die Abfrage if (Var==2.0) funtioniert nicht mehr. > > > Gibt es irgend eine Abhilfe z.B. Runden nach jeder Rechenoperation auf die entsprechende Genauigkeit ? Schau mal in die Wikipedia zu Gleitkommarithmetik: "Schon einfache Dezimalzahlen, z. B. 0,1, können nicht mehr exakt als binäre Gleitkommazahlen dargestellt werden, da viele im Dezimalsystem abbrechende Kommazahlen im Binärsystem nicht abbrechende, periodische Zahlen sind ...." Die neue Beta Version hat eine Rundungsfunktion. Allerdings kann man die Genauigkeit nicht angeben. Daher im Zweifelsfall mit der Genauigkeit multiplizieren und dann runden. Falls möglich 16Bit Integer nehmen und mit Festkommaarithmetik arbeiten. Gruss Peter > > Im voraus vielen Dank für Eure Vorschläge > > Thomas > | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum