Float handhaben

#2449748
Mal ganz nebenbei: Um 3.14159 darzustellen/zu verarbeiten, musst Du 
nicht unbedingt float verwenden! Da tut's ein integer genau so gut! 
Nein, genausogut nicht, anders (nicht immer schlechter). Aber sehr oft 
genügend gut.

Es ist ein seeeeeeeehr verbreiteter Irrglaube, dass alles, was einen 
Punkt hat, floating point sein soll.

Es heisst ja nicht umsonst "floating point" und "fixed point", und nicht 
"a point" und "no point". ;-)

Oh, mann, wer lesen kann.... das wurde ja schon vorgeschlagen. SORRY! 
:-)
OP #2449789
>Unicode 1d6d1, spart am meisten Platz und ist dabei sehr genau :-)
Nett.


Nun noch mal zu meinem Problem:

  int inum = 3;
  double dnum = 3.14159;

  sprintf (Buffer,"int: %d", inum);
  lcd_goto(0,0);
  lcd_print (Buffer);

  sprintf (Buffer,"float: %f2.2", dnum);
  lcd_goto(0,1);
  lcd_print (Buffer);

liefert auf dem Hd44780 Display:
int: 3
float: ?2.2

float wird nicht richtig als float erkannt.
Gast #2449806
Joachim ... schrieb:
> wie kann man am besten 3.14159 auf nem Display darstellen? Gibt's für n
> ATMega für Fließpunktzahlen was ähnliches wie itoa für int?

Gib es als string "3.14159" aus. Das ist am schnellsten. Was willst du 
da mit Fließkommazahlen?
#2449868
Joachim ... schrieb:
> Problem ist nicht das ausgeben sondern das reinstecken - in sprintf,
> nämlich weil sprintf sich bei der "Ausgabe" sich nicht so verhält wie
> ich es erwarte.

mann musste für (s)printf erst die floating point funktionalität extra 
aktivieren. stand, glaub ich, irgendwo in den artikeln drin, wie es 
geht.
hat man das getan, fällt man erst mal vom Hocker, wenn man nach einem 
build auf die Programmgröße schaut.
OP #2449887
>mann musste für (s)printf erst die floating point funktionalität extra
aktivieren.
Yep, das isses!
Für WINAVR hat Karl Heinz Buchegger bereits eine Anleitung erstellt, muß 
mal schauen ob ich das für AVRStudio 5 auch hinbekomme.

Danke allen Beteiligten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.