Gast
#769763
Hallo, ich habe eine Frage: Wenn ich im Speicher eine long-Zahl habe, zb 123456 und ich will diese in einen String konvertieren, wie mache ich das? Im Voraus danke für eine Antwort!!
|
Anzeige
|
long zu ascii - ARM7
Gast
#769763
Hallo, ich habe eine Frage: Wenn ich im Speicher eine long-Zahl habe, zb 123456 und ich will diese in einen String konvertieren, wie mache ich das? Im Voraus danke für eine Antwort!! In C: itoa oder (s)printf
Gast
#769872
Nein, ich muss die Funktion in Assembler für ARM7 realisieren! Danke! Das hättest Du auch gleich schreiben können. Das Grundkonzept ist immer dasselbe, ob nun ein 8-Bit-Prozessor oder ein 32-Bit-Prozessor verwendet wird, daher solltest Du das Funktionsprinzip hier im Forum beschrieben finden - ist ja nicht so, daß die Frage das erste Mal gestellt würde. Achja, und was bitte hat das mit "PC-Programmierung" zu tun? Nichts, also -> verschoben. gast wrote: > Nein, ich muss die Funktion in Assembler für ARM7 realisieren! > Danke! Die Zahl sei 3587 Wieviele Tausender sind in 3587? 3587 - 1000 = 2587 1 mal 2587 - 1000 = 1587 2 mal 1587 - 1000 = 587 3 mal 587 - 1000 = -413 negativ, ergo sind 3 Tausender enthalten Wiviele Hunderter sind in 587 587 - 100 = 487 1 mal 487 - 100 = 387 2 mal 387 - 100 = 287 3 mal 287 - 100 = 187 4 mal 187 - 100 = 87 5 mal 87 - 100 = -13 negativ, ergo sind 5 Hunderter enthalten Wieviele Zehner 87 - 10 = 77 1 mal 77 - 10 = 67 2 mal 67 - 10 = 57 3 mal ... 27 - 10 = 17 7 mal 17 - 10 = 7 8 mal 7 - 10 = -3 negativ, ergo sind 8 Zehner Wieviele Einer sind in 7 Einfach, das sind 7 Wie wissen also, dass in 3587 enthalten sind 3 Tausender, 5 Hunderter, 8 Zeher und 7 Einer. Das sollte doch jetzt kein Problem mehr sein, einen String mit den entsprechenden ASCII Zeichen zu füllen.
Gast
#769982
@Rufus: "itoa oder (s)printf" long zu String und dann itoa? Nee, ist klar. ltoa ist Dein Freund... Hier wird das Grundprinzip gezeigt. AVR-Tutorial: ADC Mfg Falk
Gast
#770059
Gibt es einen vernünftigen Grund sowas in Assembler neu zu programmieren ? Der einzge Grund der mir einfällt ist, das ein Prof. an der Uni, Fh, oder ähnliches das als Übungsaufgabe stellt. Und dan lös es selbst, wenn du eine Lösung abschreibst lernst du es nicht. Geht spätestens bei der Klausur in die sch.....
Gast
#770119
>Gibt es einen vernünftigen Grund sowas in Assembler neu zu >programmieren ? Nun, der GNUARM z.B. kennt kein itoa. Und wenn eine Implementierung in C zu langsam ist... Den Ansatz von Herrn Buchegger habe ich mal auf einem AVR umgesetzt. Das ist deutlich schneller als das übliche Verfahren mit div/modulo. /Und wenn eine Implementierung in C zu langsam ist.../ Die paar µS unterschied zwischen der C und der Assembler Implementierung auf einem ARM 7 wirst du nie merken. Wenn dein µC deshalb zu langsam ist, dann hast du etwas grundlegendes falsch gemacht. ==> Falscher µC ausgewählt Benötigte und Vorhanden Resourcen passen nicht zusammen Das kommt von erst mal Anfangen, ohne zu wissen was man macht.
Gast
#770635
Amen > "itoa oder (s)printf" > > long zu String und dann itoa? Nee, ist klar. > ltoa ist Dein Freund... Sorry, da war ich etwas unaufmerksam. Auf den meisten Systemen, auf denen ich unterwegs bin ist sizeof (int) == sizeof (long). Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|