Forum: Mikrocontroller und Digitale Elektronik Float zu Integer Darstellung


von Name N. (mar75)


Lesenswert?

Hallo Leute,

weiss jemand, wie ich ein Programm von float-Berchnung zu 
Integer-Berechnung umsetzen kann (Skalierung usw. )

Danke im Voraus.

von Norgan (Gast)


Lesenswert?

Man analysiert den Algorithmus, überlegt sich die Funktions- und 
Wertebereiche von Funktionen, überlegt sich die Präzision und 
Genauigkeit jedes Rechenschritts und implementiert das dann.

Alternativ kann man hingehen und einfach irgendwie skalieren, rechnen 
und hoffen das etwas Brauchbares rauskommt.

von Name N. (mar75)


Lesenswert?

Hallo,

Danke für die Antwort.

Könntest Du mir bitte einen keinen Beispiel zeigen, wie es funktioniert!

Danke im Voraus.

von Karl H. (kbuchegg)


Lesenswert?

Ein Beispiel, welches du selbst sicher schon hunderte Male
gemacht hast:

Du hast eine Anzahl von Geldbeträgen.
   €  3.75
   € 12.8
   €  8.45

Davon möchtest du die Summe, aber du möchtest nicht mit
Kommazahlen rechnen. Was tust du?
Nun, du rechnest nicht in Euro, sondern in Cent.

€3.75 sind 375 Cent. Mit den restlchen Beträgen verfährst du
genau gleich und erhältst

       375
      1280
       845
     -----
      1500

Die Summe betrrägt also 1500 Cent oder (zurückverwandeln) €15.00

In diesem Beispiel hat es ausgereicht auf Cent zu gehen um die
Kommazahlen zu vermeiden. Aber was, wenn du zb mit den Geldbeträgen
eine Prozentrechnung machen sollst. Du möchtest von jedem Betrag
zb 10% nehmen und die Summe dieser Prozentbeträge wissen

10% von 375 sind 37 (remember: Keine Kommazahlen!)
10% von 1280 sind 128
und 10% von 845 sind 84

in Summe       37
              128
               84
             ----
              149

Nun sollte aber laut Adam Riese dieses Ergebnis zum ersten Ergebnis
in einem bestimmten Zusammenhang stehen. 10% von 1500 sind also 149.
Nun das kann nicht stimmen, denn 10% von 1500 sind 150 und nicht 149.
Was ist das Problem? Das Problem war, dass du mit der Skalierung
auf Cent bei der Prozentrechnung nicht glücklich wirst, denn da
können 1/10 Cent entstehen. Deren Vernachlässigung hat dir in Summe
einen Fehler von immerhin 1 Cent eingebracht. D.h. obwohl eine
Skalierung von Euro auf Cent für die Berechnung der Summe ausreichend
war, ist sie dies nicht, wenn du mit Prozenten rumschmeist (und
sei froh, dass ich mit 10% noch human war. Ich hätte auch eine
schlimmere Porzentzahl nehmen können). Dafür wäre eine
Skalierung auf 1/100 oder vielleicht sogar 1/100 Cent angebracht.

Es hängt also davon ab
  * welche Berechnung du machen möchtest
  * welche Genauigkeit du anstrebst
  * wie groß die skalierten Zahlen werden dürfen
um zu entscheiden, welche Skalierung du benutzen willst.

von Jorge (Gast)


Lesenswert?

Hier hast du was:

http://de.wikipedia.org/wiki/Kettenbruch

Eine Skalierung mit dem optimalen Bruch erzielt man über Subtraktionen 
(Division) und Additionen (Multiplikation).

Das Verfahren findet z.B. auch in der Computergrafik beim Linienzeichnen 
mittels Bresenham-Verfahren eine praktische Anwendung (eine 
Interpretation). Der Endpunkt einer Geraden wird zuverlässig getroffen. 
Archimedes war ein cleveres Kerlchen...

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
Noch kein Account? Hier anmelden.