Hay @all Ich habe ein Problem ich bekomme werde über mein UART diese möchte ich jetzt rechnen zbs. Der Controller bekommt 0x19 nun lass ich mir dies so auf meinen LCD ausgeben char text[16], k; k=getchar(); sprintf(text,"%03u",k); lcd_gotoxy(0,1); lcd_puts(text); "ausgabe ist 25." nun möchte ich die eingegangene zahl mal 12,5 Rechnen, wie mach ich das. mein erster versuch war so k=getchar(); k=k*12.5; sprintf(text,"%03u",k); lcd_gotoxy(0,1); lcd_puts(text); "ausgabe ist 56." aber das ist nicht richtig, den es gibt ja nur 255 Zeichen. Also wie Rechne ich das, das er mir die Zahlen richtig Ausgibt? MFG: Fichte
Die einfachste Lösung ist, du rechnest alles in float, braucht aber viel Rechenleistung und viel Speicher. char text[16], float k; k=(float)getchar(); k=k*12.5; ftoa(k,2,text); //2 ist die Anzahl der Kommastellen lcd_gotoxy(0,1); lcd_puts(text); Grüße Clemens
Hm, float für so eine einfache Rechnung? unsigned int Ergebnis; Ergebnis=(int)getchar()*125; //Zuweisung zu einer Int-Variablen Ausgabe (Ergebnis/10); //Ausgabe wie auch immer, Vorkomma Ausgabe (','); Ausgabe (Ergebnis%10); //Nachkomma
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.