hallo ich habe ein programm geschrieben der einen spannungswert ins lcd brint nun steht aber nicht z.b. 4,521 sondern 4521 wie bekomme ich das komma da rein mit dem tutorial komme ich nicht zurecht hier ein ausschnitt meines programmes danke schon mal für eure hilfe xtr=buffer; xtr = ((long)buffer*5000)/1024; utoa(xtr,Buffer,10); lcd_goto(0,1); lcd_write_s( Buffer );
Gast
#905065
Wie wärs mit Division und Rest der Division. Schau noch mal ins Mathebuch.
Gast
#905082
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
... hat aber doch schon jemand in einem deiner Threads geschrieben...
S. W. wrote: > nun steht aber nicht z.b. 4,521 sondern 4521 wie bekomme ich das > komma da rein mit dem tutorial komme ich nicht zurecht hier ein > ausschnitt meines programmes danke schon mal für eure hilfe Offensichtlich benutzt du Fixpunkt Arithmetik und dein Skalierfaktor ist 1000 4521 dividiert durch 1000 ergibt dir den Vorkommaanteil, nämlich 4 Der Rest, der bei der Division entsteht, ergibt den Nachkommaanteil, nämlich 521 In C
1 | |
2 | |
( % ist in C der Modulo-Operator. Er gibt dir den Rest der bei einer Division entsteht. ) Jetzt hast du aber das Problem, dass du beim Nachkommaanteil die führenden Nullen nicht einfach unter den Tisch fallen lassen darfst. 4050 % 1000 -> 50 Diese Zahl würde ansonsten als 4.50 angezeigt werden, anstelle von 4.050 Entweder du siehst dir also das Ergebnis des Divisionsrestes an und entscheidest wieviele 0-en du nach dem Komma noch zusätzlich einschieben musst oder du verwendest eine Funktion, die auch führende Nullen erzeugen kann, wenn man sie dazu auffordert.
1 | |
würde das zb machen. Ich sagte schon heute Nacht: Ohne Literatur wirst du mit deiner C-Programmiererei nicht weit kommen. printf und Konsorten können eine ganze Menge Dinge erledigen. Aber das kann dir niemand in ein paar Forumspostings beibringen. Da wirst du wohl oder übel mal die 10 oder 15 Seiten in einem Buch mal durcharbeiten müssen und die entsprechenden Übungen machen müssen um zu wissen was genau man mit printf und Konsorten gut erledigen kann.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.