Gast
#672256
Hallo, hab das Problem das ich über die USART eine ASCII Ziffernfolge (0-9) bekomme. Normalerweise liegen die im Bereich von 0 bis 100. Dieser Wert wird dann entsprechen konvertiert und in einem unsigned char gespeichert. Bis jetzt habe ich die Umwandlung so gelöst:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Jetzt gibt es aber einen Ausnahmefall in dem noch eine 4. Ziffer folgt. Wie kann ich jetzt den Überlauf der Variablen bei der Multiplikation erkennen? Kann ich da in C einfach das Carry Flag im SREG abfragen? Gibt es da eine elegantere bessere Methode? Soweit ich weiß ist eine solche Abfrage in ANSI C nicht vorgesehen, oder? Oder lieber die Multiplikation direkt als inline assembler ausführen und da das Carry Flag abfragen? Vielen Dank Peter