Moin... Wie kann ich aus den 0x0A und 0x0F ein gültige Uhrzeit bilden? Eigentlich hätte ich lieber 10:15 Ich habe einen Zähler der mit diese Hex Werte übergibt. Im ASCII Format bekomme ich natürlich andere Zeichen.. Jemand ne Idee?
Mit dem Windows-Taschenrechner kann man sehr schön zwischen den unterschiedlichen Darstellungsarten umschalten... Aber im Ernst: Welches Format soll die "gültige Uhrzeit" denn haben? BCD? Und in welcher Programmiersprache soll das ganze geschehen?
printf("\n Die Uhrzeit %d:%d",stunden,minuten); dabei ist es doch egal in welchem format die 10=0x0A und die 15==0x0F vorliegen, formatiert wird das doch bei printf... ...oder wo liegt das problem genau?
Hallo! In Assembler wäre folgendes zu tun: - DAA (Umwandlung in BCD) - Halbbytes trennen und jeweils 30h dazuadieren - Ausgabe (Doppelpunkt nicht vergessen) Gruß Guido
printf-Befehle sind tabu für mich! In Assembler programmiere ich nicht! Das beste wäre eine passende C-Routine, falls jemand so was passendes hat! Gruss Frank
Die Funktion heißt itoa ... und das Thema wurde eigentlich wirklich schon ad nauseam durchgekaut.
Wie wäre es denn, wenn Du mal nicht sagst, was Du nicht willst, sondern was Du wirklich willst... Du hast z.B. immer noch nicht gesagt, welches Format die Uhrzeit haben soll! BCD wäre einfach (in C)
1 | unsigned char stunden_bcd, stunden_hex, minuten_bcd, minuten_hex; |
2 | stunden_bcd = ((stunden_hex / 10) << 4) | (stunden_hex % 10); |
3 | minuten_bcd = ((minuten_hex / 10) << 4) | (minuten_hex % 10); |
Wenns ASCII sein soll, dann
1 | unsigned char stunden[3], stunden_hex, minuten[3], minuten_hex; |
2 | stunden[0] = (stunden_hex / 10) | 0x30; |
3 | stunden[1] = (stunden_hex % 10) | 0x30; |
4 | minuten[0] = (minuten_hex / 10) | 0x30; |
5 | minuten[1] = (minuten_hex % 10) | 0x30; |
6 | stunden[2] = '\0'; |
7 | minuten[2] = '\0'; |
Auch wäre interessant, in welcher Form den die Ausgangswerte vorliegen. Sind das int oder bytes: Dann versteh ich das Problem nicht -> gib sie aus, so wie du jede andere Zahl ausgibst. Liegt das Urmaterial in Stringform vor (weil die Uhrzeit zb über eine Serielle eingelesen wurde): Dann muss man den String halt mal in eine numerische Form konvertieren.
Hi Frank! hast du genug Tipps bekommen, um deine Hausaufgaben jetzt selbst zu erledigen? Wie wäre es mit einem Buch? Vielleicht hilft auch eine Suchmaschine. Stell doch einfach den Text der Aufgabe rein, dann müssen nicht alle raten, was du eigentlich willst. Gruß
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.