Moin!!! Ich will aus der UART mehere ASCII-Zeichen einlesen und um nun damit zurechnen muss das ganze in ein verwertbares Format umgewandelt werden. Also '1'2'3' (ASCII) <---> 123 (double) kann mir jemad da einen Lösungsansatz geben???
Erstens ist double zumindest in C kein Integer-Format, sondern ein Gleitkommaformat. Und mal davon ausgehend, dass das ganze in C sein soll, gibt es in der stdlib.h eine Reihe von Funktionen, die solche Umwandlungen machen können, vorausgesetzt natürlich, die ASCII-Zeichen liegen in Form eines nullterminierten Strings vor. Allerdings sollte man bei solchen Fragen immer angeben, mit welcher Programmiersprache man überhaupt arbeitet, vorausgesetzt, man möchte wirklich sinnvolle Antworten erhalten!
> Also '1'2'3' (ASCII) <---> 123 (double)
100*('1'-'0') + 10*('2'-'0') + 1*('3'-'0') = 123
Geht mit 'atod', umgekehrt mit 'dtoa' (wenn ich mich recht erinnere). Steht in der libc vom WINAVR.
Thilo M. wrote: > Geht mit 'atod', umgekehrt mit 'dtoa' (wenn ich mich recht erinnere). > Steht in der libc vom WINAVR. Wenn Du schon meinst, es noch schreiben zu müssen, obwohl der OP offensichtlich keinerlei Interesse mehr an der Sache hat, dann schau wenigstens selber vorher in der Doku nach! Dass es dafür Bibliotheksfunktionen gibt, hatte ich oben schon erwähnt, und sogar die Headerdatei genannt. Wenn Du da hinein geschaut hättest, dann wüsstest Du, dass die Funktion strtod heißt...
Gero A. wrote: > Wer hat dir denn ans Bein gepinkelt? > > Wenn du schon meinst, oben erwähnt haben zu müssen, dass es dafür > Bibliotheksfunktionen gibt, dann schau gefälligst selber vorher in der > Doku nach, welche Funktionen das sind. Warum sollte ich das tun? Der OP kann (wenn er schon nicht in der Lage ist, das von ihm verwendete System/Compiler anzugeben) auch selber nachsehen, welche Funktionen das konkret sind. Da muss der Hinweis auf die betreffende Headerdatei genügen. > Lebst du davon, hier Beiträge zu beantworten und hast den alleinigen > Anspruch auf die richtige Antwort? Nö. Und atod gibt es in der AVR-libc schlicht und ergreifend nicht. Wenn dann wäre es atof.
Gero A. wrote: > Sind wir hier vor Gericht? > "Die Behauptung des Klägers ist definitiv unwahr. Sollte sie doch wahr > sein, dann habe ich immer noch recht, weil..." Wer ist denn der Kläger? Bist Du Thilos Anwalt? Oder was hat Dich überhaupt dazu bewogen, hier "einzuschreiten"? Demzufolge auch die Frage, wer sich hier lächerlich macht. Wenn Du was Fachliches zum Beitrag zu sagen hast, dann tu das. Ansonsten gibt es zu viele, die nur posten, weil sie unbedingt ihren Senf dazugeben müssen, auch wenn es falsch ist. Ich habe Thilos Irrtum korrigiert und ihn darauf hingewiesen, dass er vielleicht besser nicht aus der Erinnerung geschrieben hätte (das bringt dem Fragesteller nämlich außer zusätzlicher Verwirrung nichts, wenn es nicht stimmt und er sich nach der nicht-existenten Funktion atod nen Wolf sucht). So, und getz is gut.
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.