比如(×××<<32)这样的语句,就可能会出现上述警告,原因是×××可能为有符号32位的数,右移三十二位可能会改变其符号位(最高位),所以解决的办法就是先转换为无符号型的,在右移,((unsigned int)×××<<32)。当然你还得确定是不是可以这样转换:)