unsigned char 移位
unsigned char valChar;
unsigned int valInt;
valChar = 0x01;
valInt = valChar < < 16
;;得到结果 valInt = 0x00010000;
安照道理,是不是valChar 移位的时候回溢出的。
[解决办法]
valChar = 0x01;
valInt = valChar < < 16
楼主是用VC、Dev-C++之类的32位的编程工具测试的吧, 因为他们的int为32位的。
如果换成TC2.0的之类的DOS平台编程工具,valInt就会等于0了