Forum: Mikrocontroller und Digitale Elektronik String nach ASCII - wie?


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 C_für_Dummies (Gast)


Lesenswert?

Ein Hilferuf an alle C-Experten,

Eine Stringvariable, mit einem Wertebereich
von 0 bis +/-4.000.000.000 muss in eine ASCII-Variable abgelegt
werden.

Der Compiler ist CodeVisionAVR, MCU ist mega128.

Gibt es da einen einfachen Weg?


Gruß   Norbert mit C_für_Dummies

von Christof Krüger (Gast)


Lesenswert?

>Eine Stringvariable, mit einem Wertebereich
>von 0 bis +/-4.000.000.000
Das klingt eher nach einer Integer-Variable (unsigned, 32 bit)

benutze einfach mal die forensuche, dazu gibt es mind. 1243213 Threads

von C_für_Dummies (Gast)


Lesenswert?

Ja ja du hast Recht, es muss float nach ASCII heissen.


Norbert

von OldBug (Gast)


Lesenswert?

Öhm?
Ne... Sicher nicht float!

uint32_t hat einen Wertebereich von 0 bis 4.294.967.296.
Wenn Du den negativen Bereich nutzen willst, dann brauchst Du doppelt
so viele Bits ;)

von OldBug (Gast)


Lesenswert?

Quatsch!
EIN Bit mehr!

von Karl Katt (Gast)


Lesenswert?

Moin!

vielleicht ein kleiner denkansatz:

char* itoa(int eingabe)
{
  char ausgabe[20];
  int a=0,i=0;

  if(eingabe<0)
  {
    ausgabe[0]='-';
    a=1;
    eingabe*=(-1);
  }

  //
  i=10000000;
  while(i>eingabe)
  {
    i/=10;
  }
  while(i>=1)
  {
    ausgabe[a]=(eingabe/i)+48;
    eingabe-=((ausgabe[a]-48)*i);
    a++;
    i/=10;
  }

  ausgabe[a]='\0';

  return ausgabe;

}

bitte keine kritik, der algorithmus ist eigentlich müll, ich weiß

have fun,
karl

von emil (Gast)


Lesenswert?

codevision hat doch eine itoa() (sowie auch ltoa(), ftoa() usw.)
eingebaut in stdlib.h

von C_für_Dummies (Gast)


Lesenswert?

Ich bin sooo blöd. Danke für Eure Hilfe!



Norbert

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]
  • [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.