Mit Ganzzahlen Kommazahlen ausrechnen? |
29.08.2013, 10:44 | eey | Auf diesen Beitrag antworten » |
Mit Ganzzahlen Kommazahlen ausrechnen? ich hab folgendes Problem. Und zwar will ich die Funktion für verschiedene x auswerten. Problem ist allerdings dass ich nur 16-Bit Integer zur Verfügung habe, ich das 15/11 also nicht vernünftig ausrechen kann. Ich dachte mir ich approximiere jetzt einfach 15/11 als 1,3 und verwende dann was soweit auch funktioniert; Leider wird der Fehler mit steigenden x-Werten auch immer größer. Gibt es eine Möglichkeit das Ganze besser zu machen? Also mit möglichst kleinem, und am besten konstanten Fehler? Den Wert bei der Multiplikation kann ich leider nicht weiter erhöhen, da sonst ein Overflow auftreten kann... Schöne Grüße, eey |
||
29.08.2013, 11:35 | HAL 9000 | Auf diesen Beitrag antworten » |
Der Computer rechnet intern binär, ich sehe jetzt nicht, inwiefern da die Situation gegenüber verbessert. Warum nicht in etwa so: Es ist und demnach . Je nachdem, wie groß dein -Bereich ist, kriegst du ja vielleicht den Zähler noch in den 16-Bit-Wertebereich? |
||
29.08.2013, 12:11 | eey | Auf diesen Beitrag antworten » |
Hallo, ja die 13 hab ich genommen da die 15 in manchen (noch gültigen) Fällen die Multiplikation zu groß gemacht hat und damit zu einem Overflow geführt hat. Die Umformung ist aber perfekt, bin ich gar nicht drauf gekommen. Damit bin ich mit einer 4 in der Multiplikation weit weg vom Overflow und genauer ist das Ergebnis auch noch Vielen Dank für die Hilfe Grüße, eey |
||
29.08.2013, 12:15 | HAL 9000 | Auf diesen Beitrag antworten » |
Freut mich, das es so klappt. Als jemand, der gelegentlich noch mit 16Bit-MicroControllern zu tun hat, sind mir derartige Denkweisen nicht ganz fremd. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|