mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Float zu Integer Darstellung


Autor: Name Name (mar75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

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

Danke im Voraus.

Autor: Norgan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Name Name (mar75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke für die Antwort.

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

Danke im Voraus.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jorge (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.