Weil die 1 ein signed int ist. Das <<15 schiebt das gesetzte Bit ins Vorzeichen und somit ergibt sich als Ergebnis -32768. Das auf 32 Bit erweitert ergibt das Bitmuster 0xFFFF8000 (die FFFF sind das Resultat der Sign-Extension).Zitat von radbruch
Einfache Abhilfe:
"(1U<<15)", "(1UL<<15)" oder ein Typcast für die 1.







Zitieren

Lesezeichen