其次,按照妳列出的紅字,表明妳“期望”這個編譯器默認promote成16位無符號類型,所以左移8位的時候結果相同。
但是按默認promote左移9位就會丟數據了,變成0xFE00(65024)。除非先強制轉換為unsigned long才能確保結果為0x1FE00(130560)。第3行那個966784(0xEC080)真是匪夷所思。