Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Rechenfehler?

hasw / 3 Antworten / Flachansicht Nickles

Moin,

ich hab hier folgende simple Funktion:

uchar calc_vid(double vt) {
printf("%.03f\\n", vt);
return(((1.85 - vt) / 0.025));
}

Wenn ich diese nun mit 1.600 fuettere (wobei rechnerisch 1.85-1.6 = 0.25, 0.25/0.025 = 10 rauskommen muesste), spuckt sie nur 9 aus.

Wo ist mein (Denk)fehler?

bei Antwort benachrichtigen
hasw mr.escape „Dezimalzahlen können im internen format auch als double nicht immer genau...“
Optionen

Ok, thx. Hatte gedacht das bei so simplen Rechenaufgaben Rundungsfehler nicht ueblich waeren, dass kann ja sogar ich im Kopf ohne Rundungsfehler ;-)

bei Antwort benachrichtigen