Hallo, beim Rechnen mit Gleitkommazahlen wird Standardmäßig immer auf die nächste Maschinenzahl gerunden. Also aus 2/3 wird 0.66666666666666663 und nicht 0.66666666666666674. Weil 0.66666666666666663 am nächste am richtigen Ergebnis liegt. Gibt es eine Funktion, um die Mantisse einer Gleitkommazahl auf die betragsmäßig nächstkleinere Zahl abzurunden?
Die eventuelle Lösung muss nicht zum C++ Standard gehören.
Dann geht es vielleicht spezifisch für die Umgebung, die hier keiner weiß außer dir :-) Bei den aktuellen Pentium-FPUs kann man m.W. einiges einstellen, was die zukünftige Rundung betrifft. Da wirst du dich aber etwas einlesen müssen. Vielleicht ist das hier ein Anfang: http://stackoverflow.com/questions/6867693/change-floating-point-rounding-mode (nur, um dir das googeln zu ersparen)
Vielen Dank, das sieht sehr vielversprechend aus. Werde das dem nächst testen. PS Wenn ich per google etwas gefunden hätte würde ich hier nicht posten.
Das konnte ich mir nicht verkneifen, weil ich den Link auch mit google gefunden hatte :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.