今天发现我的Android应用出现一个问题,找了好久,现在记录下来
今天计算是debug调试出这么一个问题
我用简单的乘法尽然算出了一个负数,最后发现int的计算超出最大值就变成负数了
currentTimeMills 当前时间
正确的写发应该如下(用long计算)
long time = currentTimeMills - (90L * 24L * 60L * 60L * 1000L);
最近又找了以下为什么会变成负数,原因是,int型数据在二进制里面是有固定位数的,当数字超过int数据时,二进制的最前面的位数也就是符号位会发生变化,所以就变成负数了