我在linkedList中有一个或多个长值。当我使用值-100和1 Im测试时,下面的代码得到了错误的结果。
为什么-somevalue + -somevalue给出正值而不是负值。
long bigpow =(long) Math.pow(Math.pow(10000,10000), 10000);
bigpow *= -1;
while(itr1.hasNext()){
long temp = itr1.next();
recount1 = (recount1)+ ( temp * (long) Math.pow(bigpow,xpow));
}
我的recount1值是正数但它应该是负数。我不知道在过去两天试图解决这个问题我在哪里出错了。
答案 0 :(得分:0)
你经历了很多长期值。
原始长度的最大数量是9,223,372,036,854,775,807。
您已经通过以下方式达到了此值:
long bigpow = (long) Math.pow(10000, 5);
这个数字呈指数增长,你无法在任何地方适应这种情况。