Gast
#412151
Da ich wieder mal auf die feinen Unterschiede einzelner Compiler reingefallen bin, folgede Frage: Welches Ergebnis liefert folgender Code in Ansi C ? unsigned char c=128; unsigned int i; i=c<<8; Steht in i eine 0 oder 32768 ? Beide Ergbenisse hatte ich schon, je nach Compiler. Ist eigentlich festgelegt, ob der Shift bei signed Wertden als Logical oder Arithmetic Shift ausgeführt wird ? Laut K&R ist das nämlich nicht festgelegt. Die beliebte Aufteilung eines int Wertes auf 2 chars würde dann nämlich nur manchmal bei signed Werten funktionieren.