Nunja, mein Buch, sowie die Hilfe des CCS compilers sagt dass int8 von
0-255 geht, solange sie unsigned - also nur positiv ist. Selbst wenn ich
"unsigned" davor schreibe, trägt sie den wert 180, klar...dann ja erst
recht.
Das ist auch eigentlich nicht dass problem, denn in der simulation
trägt:
variable1 den wert 180 (bei int8).
das problem liegt ja bei:
variable2 = 0 - variable1 ;
in datentypen:
signed int16 = 0 - int8
signed int16 = 0 - 180
Ich habe es jetzt so probiert (auch wenn es für mich unlogisch ist dass
es vorher nicht funktioniert hat)
signed int16 = 0 - unsigned int16
signed int16 = 0 - 180
NUN trägt sie wirklich den wert "-180".
Ich denke einfach dass wenn ich von 0 einen int8 wert abziehe, kommt ein
int8 wert raus, AUCH wenn die zielvariable int16 ist... naja... so halb
macht es sinn...