Zweistellige Dezimalzahl in 1. und 2. Stelle auflösen, für konkreteres weiterlesen. Es geht um die Anzeige der Uhrzeit auf 7-Segmentanzeigen?
Wie stelle ich z. B. die Uhrzeit 14:32 auf einer Siebensegmentanzeige dar? Bisher habe ich die Uhrzeit auf einem Arduino als Minuten und Sekunden abgelegt (Binär), es geht jetz darum die 32 Minuten aufzusplitten in die Zahl 3 und 2 damit ich sie auf der 7-Segmentanzeige einfach darstellen kann. Natürlich könnte ich mit einer Select-Case Anweisung alle 60 Möglichkeiten durchgehen, bestimmt gibt es aber eine weitaus elegantere Lösung.... Schonmal vielen Dank :)
3 Antworten
32 / 10 = 3
32 mod 10 = 2
Da haste deine beiden Ziffern. Sei froh, dass es keine 1.000 Sekunden sind ^^ switch case ^^
Hehe danke, weiß ich auch selbst als Informatiker.
Die Anspielung war nur deswegen, wegen dem switch case. 1.000 Sekunden mit switch case würde ein paar minütchen Programmierung dauern ^^
Oder du schreibst eine for-schleife, die dir den Kode erzeugt :D:D lol...aber wenn ich es recht überlege, selbst da braucht man dann ja die division und modulo ^^ Teufelskreis ^^
32 mod 10 = 2
floor(32/10)=3
Funktioniert für alle Zahlen <100
Arduinos programmiert man in C oder?
Da gibt es die ganzzahlige Division / und den Restoperator %
n / 10 ergibt die Zehnerziffer
n % 10 die Einerziffer
Nur weil mir grade langweilig is, für 1000 Sekunden:
Sekunden/100 ist die Hunderter-Stelle
(Sekunden mod 100)/10 ist die Zehner-Stelle
Sekunden mod 10 ist die Einer-Stelle