Forum: Mikrocontroller und Digitale Elektronik Variable eingrenzen


von Martin K. (thereallife)


Lesenswert?

Hallo Leute,
ich habe einen Drehencoder den ich auslese und den Wert in eine Variable 
schreibe.
Nun möchte ich jedoch das der Wert in der Variable maximal 127 beträgt 
und nicht unter 0 geht.
Ich habe das erstmal so gelöst :
1
  if (x > 127) {
2
  x = 127;
3
  }
4
  if (x < 0) {
5
    x = 0;
6
  }
7
}

Geht das auch schöner oder einfacher?

Grüße
Martin

von ti.com (Gast)


Lesenswert?

Ja, du nimmt einen uint8_t und Teilstück einfach durch 2.

von Martin K. (thereallife)


Lesenswert?

ti.com schrieb:
> Ja, du nimmt einen uint8_t und Teilstück einfach durch 2.


gute idee, danke dir

von eProfi (Gast)


Lesenswert?

> Geht das auch schöner oder einfacher?
Du kannst einen else-Zweig einführen, denn wenn die Variable > 127 ist, 
kann sie nicht kleiner 0 sein.
  if (x > 127)x = 127;else
  if (x < 0)  x = 0;

Andere Möglichkeit bzw. Denkansatz mit WrapAround:
x &= 127;

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.