今天遇到一个数据转换溢出的问题,
int mid = 1234567;
long temp = mid*mid;
temp的结果怎么算都不对
结果是要这样
long temp = (long)mid *mid;
mid*mid的结果在寄存器还是int类型的,溢出后是一个奇怪的数,
然后再将这个奇怪的数赋值给temp