Hallo Zusammen,
ich hab folgenden Code (Atmega64 WinAVR) und ein mysteriöses Problem.
1 | long Overflow;
|
2 | char plus;
|
3 | char minus;
|
4 |
|
5 | Overflow += 3;
|
6 | if(Overflow > 0) {
|
7 | plus = 1;
|
8 | minus = 0;
|
9 | } else {
|
10 | plus = 0;
|
11 | minus = 1;
|
12 | }
|
Nun läuft der Overflow durch und spring von ca. 32.000 auf -32.000.
Nur erkennt dies der ">" Operator nicht.
Sobald Overflow aber die 0 durchläuft (-3,0,3,6,9....) wird der
Wert als positiv oder negativ erkannt.
Wie kann das sein?
Ich seh's ist nicht... mit der Suche konnte ich leider kein
passendes Thema finden... über Hilfe würde ich mich sehr freuen.
Danke & Viele Grüße
Bernd