Forum: Mikrocontroller und Digitale Elektronik simple floating-point lib für 8 Bit Controller


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich wollte mal fragen ob jemand von euch eine "floating point" lib 
kennt, die im Hintergrund auf byte / int arrays aufbaut und keine 
Hardware-FPU benötigt.

Ich entwickle gerade für einen etwas speziellen Softcore ein Programm, 
welches floating point benötigt.

Ich erwarte nicht, dass ich wirklich den Datentyp "float" im Programm 
verwenden kann, das kann von mir aus auch irgendein struct sein, aber 
ich muss damit addieren, subtrahieren, multiplizieren, dividieren und 
vergleichen können.

Wenn da jemand eine library kennt, die man einfach einbinden kann in das 
C Programm wäre ich wirklich sehr sehr dankbar!

Gruß

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
bei einem 8bit Atmel braucht man dafür auch keine lib, das macht der GCC 
von selber. (bzw. die toolchain)

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich weiß dass es beim AVR geht, nur kann ich diese Toolchain für die 
Plattform, die ich nutze nicht benutzen, deshalb brauch ich das als 
blanke library zum einbinden.

von Samuel C. (dragonsam)


Bewertung
0 lesenswert
nicht lesenswert
Dann wäre es wohl ziemlich nützlich, wenn du mal damit rausrücken 
würdest, um welche Plattform es geht.

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:
> Ich weiß dass es beim AVR geht, nur kann ich diese Toolchain für die
> Plattform, die ich nutze nicht benutzen

Und warum ist die Information, um welche Plattform es geht, geheim?

> deshalb brauch ich das als blanke library zum einbinden.

http://lmgt fy.com/?q=floating+point+library+C

Gleich 3 der ersten 4 Treffer sehen gut aus.

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> bei einem 8bit Atmel braucht man dafür auch keine lib, das macht der GCC
> von selber.

Genau.  Und verwendet dafür die libgcc und die libc.

von Chris S. (schris)


Bewertung
0 lesenswert
nicht lesenswert
#ifndef FIXPT_H
#define FIXPT_H
typedef  int     fix;
typedef  unsigned int  ufix;
#define FBITS    8


#define  TO_FIX(x)  ((fix)((x)*(1<<FBITS)))
#define  FIX_TO_SHORT(x)    ((short)((x)>>FBITS))
#define  FIX_TO_INT(x)    ((int)((x)>>FBITS))
#define  FIX_TO_DBL(x)  (((double)(x))/(1<<FBITS))
#define  MUL_2FIX(x, y)  (((x)*(y))>>FBITS)
#define  DIV_2FIX(x, y)  (((x)<<FBITS)/(y))
#define  FIX_TRUNC(x)    ((x)&(~((1<<FBITS)-1)))
#endif

von Guido Hub (Gast)


Bewertung
0 lesenswert
nicht lesenswert

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.