非常简单的问题,但也许有人可以解释。我有两行代码:
long millisPerYear = 365*24*60*60*1000;
System.out.println("millis per year = " + millisPerYear);
我预计产量为31 536 000 000但我得到1 471 228 928。
如果我从公式中删除1000,答案是正确的,但是1000将其推到边缘。
变量格式为Long
,因此它的大小应为2 64 ,足够大。我很难理解为什么价值不能准确存储。
答案 0 :(得分:16)
您仅使用int
在右侧进行计算。将365
替换为365L
以在long
中执行计算。