MinusValue + MinusValue在java长数据类型中返回正值

时间:2017-10-25 13:03:52

标签: java java-8

我在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值是正数但它应该是负数。我不知道在过去两天试图解决这个问题我在哪里出错了。

1 个答案:

答案 0 :(得分:0)

你经历了很多长期值。

原始长度的最大数量是9,223,372,036,854,775,807。

您已经通过以下方式达到了此值:

long bigpow = (long) Math.pow(10000, 5);

这个数字呈指数增长,你无法在任何地方适应这种情况。