simple floating-point lib für 8 Bit Controller

Gast #4047431
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ß
#4047720
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

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.