Tim T. wrote:
> Karl heinz Buchegger wrote:
>> Tim T. wrote:
>>
>>> Eine Frage dann noch: Wird bei xMovement = byte[1]; das Highbyte von
>>> xMovement sicher genullt?
>>
>> Ja. Weil byte ein unsigned Typ ist.
>
> Ok, das ist doch schonmal was. Ist das bei signed anders?
Logich.
Aus
signed char -1
muss ja
signed int -1
bei einer Zuweisung werden.
signed char i = -1;
signed int j;
j = i;
> Sorry, ich hab noch nicht mit gemischten Typen gearbeitet,
> jedenfalls nicht im signed Bereich.
Die wichtigste Regel: Hast du 2 Datentypen, die sich nur durch
signed/unsigned unterscheiden (also signed/unsigned char, signed/
unsigned int), so wird immer der signed Typ auf unsigned umgecastet.
signed char i = -1;
unsigned char j = 24;
if( i > j ) ist wahr, weil -1 in unsigned Schreibweise (*) 255
ergibt.
> Wo findet man Infos über sowas?
In letzter Konsequenz in den ISO Dokumenten, die die Sprache
beschreiben.
Die sind aber sehr unübersichtlich
(*) natürlich nur, wenn der Compiler auch 2-er Komplement benutzt.
Das muss er nicht tun, ich kenne aber keinen der es nicht tut.