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
>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
Ö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 ;)
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
codevision hat doch eine itoa() (sowie auch ltoa(), ftoa() usw.) eingebaut in stdlib.h
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.