51单片机C语言移位操作的疑问A:i = 0xF9<<1;i = i>>1;P0 = i;B:P0 = (0xF9<<1)>>1;如上A和B两种方式,为什么A可以真正实现移位,而B不可以呢? [解决办法]如果编译器够“聪明”,它就不会真的去做 B 中的无效移位。