java—查找将两个非常大的整数之和除以相等块的步骤

iq0todco  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(340)

我有两个极限-开始和结束,它们是长值。我需要找到一个步骤,把起点和终点之间的距离分成相等的块。
所以这个公式实际上是:

  1. (end - start)/1000

其中1000是块的数量。当start是long.min\u值或接近它时,问题就会出现,而end是long.max\u值。
谢谢

35g0bw71

35g0bw711#

你需要一个 BigInteger 取而代之的是:

  1. BigInteger bigStart = BigInteger.valueOf(start);
  2. BigInteger bigEnd = BigInteger.valueOf(end);
  3. BigInteger bigDiv = BigInteger.valueOf(1000);
  4. BigInteger step = bigEnd.subtract(bigStart).divide(bigDiv);

相关问题