Forum: Mikrocontroller und Digitale Elektronik Integer auf 50 Runden


von Michael (Gast)


Lesenswert?

Hallo!

Ich habe ein kleines Problem, wo ich eine optimale Lösung suche.

Undzwar habe ich zwecks schnelligkeit und einfachheit meine Spannung die 
ich messe als Integer gespeichert, sodass 1.00V = 100 entspricht.

Ich würde nun gerne auf .5V runden.

Hat jemand eine Idee, wie ich am Besten und einfachsten auf 50 runde?

Also zb.
122 = 100 und
133 = 150 und
167 = 150 und
177 = 200 usw.

Vielen dank schonmal

Lg
Michael

von Malte S. (maltest)


Lesenswert?

int out = (in + 25) / 50 * 50;

von Karl H. (kbuchegg)


Lesenswert?

Michael schrieb:

> Hat jemand eine Idee, wie ich am Besten und einfachsten auf 50 runde?

   + 25  als Rundungskorrektur
   / 50 * 50  um auf Vielfache von 50 zu kommen

>
> Also zb.
> 122 = 100 und

  122 + 25 -> 147     147 / 50 -> 2    2 * 50  ->  100

> 133 = 150 und

  133 + 25 -> 158     158 / 50 -> 3    3 * 50  -> 150



  wert = ( wert + 25 ) / 50 * 50;

von Michael (Gast)


Lesenswert?

Hallo!

Danke euch. Ich hab an sowas schon gedacht, war einfach nur zu dumm auf 
"+25" zu kommen.

Vielen Dank, so funktionierts perfekt!

Lg
Michael

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
Noch kein Account? Hier anmelden.