mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FLOAT in CHAR zerlegen


Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielleicht wurde diese Frage hier schon beantwortet, aber ich habe 
nichts passendes gefunden.

Ich will einen 32Bit float Wert wie folgt in char zerlegen, um die 
einzelnen Zeichen zu speichern.

Also zum Beispiel:

1234,567 -> '1', '2', '3', '4', ',', '5', '6', '7'.

Geht das irgendwie in C ?

Bisher habe ich nur gefunden, wie man 32Bit Float in 4 Byte zerlegt und 
wieder zusammensetzt.

Danke !

Autor: egberto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
z.B. sprintf

Autor: Der Flins (flins)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich recht entsinne, gab es als Pendant zur Funktion itoa die 
Funktion ftoa. Einfach mal danach suchen.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Teilweise hab ich wirklich den Eindruck, dass 90% der Leute nicht wissen 
was die C-Lib so treibt. Nur mal so zur Info: Die cstdlib ist in C 
geschrieben, sprich alles was die Lib kann, kann man auch per Hand 
programmieren.

Ansich kann man das per Hand genauso machen wie bei Int. Modulo 10, Wert 
ausgeben, div 10, und von vorn. Wenn der Wert von >1 nach <1 geht, ein 
Komma setzen. Dann noch so Sachen wie Vorzeichen beachten.

Autor: Seeb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du sprichst mir aus der Seele ;)

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

Bewertung
0 lesenswert
nicht lesenswert
I_ H. wrote:
> Teilweise hab ich wirklich den Eindruck, dass 90% der Leute nicht wissen
> was die C-Lib so treibt. Nur mal so zur Info: Die cstdlib ist in C
> geschrieben, sprich alles was die Lib kann, kann man auch per Hand
> programmieren.

Es würde schon völlig ausreichen, wenn die Leute wüssten
welche Funktionen sie mit der C-Lib so mitkriegen.

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es geht um ein µC-Projekt (dsPIC).
Ich glaube nicht, dass dort die Standard C-Libs nutzbar sind.

Wenn es um reine Softwareprogrammierung auf einem Windows oder Linux 
Rechner ginge, dann würde ich hier nicht fragen.

Also ist es das sinnvollste eine Funktion zu schreiben, die das 
Vorzeichen prüft und die einzelnen Ziffern durch Division ermittelt ?

Danke.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen wrote:
> Hallo,
>
> es geht um ein µC-Projekt (dsPIC).
> Ich glaube nicht, dass dort die Standard C-Libs nutzbar sind.

Wieso nicht? Es gibt auch bestimmte Vorschriften, die (vom Standard) an 
einen C-Compiler gestellt werden.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selbst wenn es die C-Lib nicht geben sollte (dann wär's aber kein 
C-Compiler), dann gilt immernoch der erste Absatz aus meinem letzten 
Beitrag.

Autor: Jorge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Frage habe ich in Varianten in diesem Forum schon sehr oft 
gelesen. Ich glaube schon nicht mehr, dass sie ernst ist.

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.