最近在将一个汇编代码转成C语言,发现一个问题u8 ad1,ad2,ad3;u32 data1;data1= ((u32)ad3<<16)+((u32)ad2<<8)+ad1; // 可以得到正确结果data1= (ad3<<16)+(ad2<<8)+ad1; // 错误的结果