Hallo Leute, ich möchte einen uint16_t Wert möglichst ohne Float auf meinen UART ausgeben. Ein Wert von 321 soll als 3.21 ausgegeben werden. Wie komme ich nun auf den Wert 3 und dann auf den Wert 21 ? Anders soll der Wert 0 als 0.00 ausgegeben werden. Wie bekommt man das konvertiert? Gruß AVRli...
Wieviel ergibt 321 / 100 ? Und wieviel bleibt dabei Rest? (Rest ist in C der Modulo Operator %. mann kanns natürlich auch so rechnen: 321 / 100 macht 3. 312 - 3 * 100 macht 21 oder eben 321 / 100 -> 3 312 % 100 -> 21 bei den Nachkommastellen nicht auf die führenden 0-en vergessen. 2.05 ist was anderes als 2.5
Perfekt!!!! Ohh man, mit Rest habe ich noch nie was gemacht aber so lernt man wieder. Besten Dank Karl Heinz mein Dauerhelferlein!!! ;-) Gruß AVRli...
AVRli schrieb: > Perfekt!!!! > > Ohh man, mit Rest habe ich noch nie was gemacht Doch. Das hast du mit Sicherheit schon gemacht. In deiner Grundschule, 2tes Jahr Eine Mutter hat 13 Äpfel und 5 Kinder. Wieviele Äpfel kriegt jedes Kind, wenn alle gleich viele kriegen und wieviele bleiben der Mutter übrig? Bei dir sinds halt 321 Äpfel und 100 Kinder. Und diesen Zusammenhang herzustellen, das ist der Knackpunkt. Und wenn man dann mal darüber sinniert, wie unser Zahlensystem bei mehrstelligen Zahlen eigentlich funktioniert, dann kommt man drauf, dass 321 ja auch nichts anderes als 3 * 100 + 2 * 10 + 1 ist und dass alles kleiner als die Hunderterstelle immer kleiner als 100 sein muss und daher bei einer int-Division wegfallen wird.
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.