PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ascii in zahl umwandeln



Mk1.12.91
19.06.2010, 16:23
hallo ich habe ein problem bei der programmierung emines asuro
ich möchte asciiwerte in normale zahlen umwandeln, mit denen dann der asuro rechnen soll...
nun suche ich schon lange nach einem passenden befehl den ich auch leicht verstehe ...
ich hoffe ihr könnt mir weiterhelfen :-)
MFG Mk1.12.91

Besserwessi
19.06.2010, 16:30
Für eine einzelne Ziffer geht das ganz einfach mit

wert = Acsii - '0'

für eine mehrstellige Zahl gibt es Functionen wie atoi().

Mk1.12.91
19.06.2010, 16:33
dankeschön ersteres reicht mir vorerst
würdest du mir jedoch für später vielleicht trotzdem noch die funktion atoi() erklären (argumente & handhabung??)

MFG Mk1.12.91

Besserwessi
19.06.2010, 17:25
Die Funktion atoi() ist Teil von stdlib.h . Wenn nicht ohnehin schon eingebunden muß also noch das Include dazu.

Die Definitionen sind:
int atoi (const char *__s)
long atol (const char *__s)

Der Aufruf dann z.B. als

char str[5] = '1234';
wert = atoi(str) ;

Wie viele andere nützliche Funktionen fundet man die Beschreibung im Manul zu avr-libc .