Hallo, ich habe eine Frage, wie man ein Byte oder auch jede andere
Variabel am besten inkrementiert um Werte größer 1.
1 | while(!stop)
|
2 | {
|
3 | if(val < 255) val++;
|
4 | else stop = 1;
|
5 | }
|
Das funktioniert ja ohne Probleme.
Wenn ich aber nun den Wert jedes mal um 8 erhöhren möchte,.
1 | while(!stop)
|
2 | {
|
3 | if(val < 255) val += 8;
|
4 | else stop = 1;
|
5 | }
|
Problem an der Sache ist, wenn ich immer 8 hinzuaddiere, lange ich bei
theoretisch 0, da es zum Überlauf kommt.
0 + 8 = 8;
8 + 8 = 16;
...
248+8 = 256 => 0
Gibt es da eine andere Möglichkeit, als folgendes
1 | if(val == 0) val += 7;
|
2 | else if(val < 255) val += 8;
|
Davon ausgehend, dass die Werte nur in 8er Schritten gesetzt werden.
Alternativ
1 | if(val == 0) val += 7;
|
2 | else if(val - 8 <= 255) val += 8;
|
3 | else { val = 255; stop = 1; }
|