超过了数据类型的范围,这个跟二进制里面负数的表示形式有关。简单说,负数的二进制位最高位是1,正数最高位是0,依次来表示数的符号。如果正数增长到足够大的时候,进位会将最高位的0变成1,此时,系统会认为它是一个负数。
知道补码吧,负数是用补码实现的,如果你数据类型定义的不对,一个负数就会变成一个很大的正数。。。 我估计你的原因就在这上面了