有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

计算大根:bigdecimal/java

我试着用标准的迭代算法来计算n个根

例如(111^123)^(1/123)

标准算法计算基数的高次幂(在本例中为111^123),这需要大量时间。这里给出了算法http://en.wikipedia.org/wiki/Nth_root_algorithm

然而,我注意到使用double进行同样的操作所需的时间不到一毫秒。所以很明显,他们使用了一些聪明的想法。有什么提示吗


共 (1) 个答案

  1. # 1 楼答案

    However, I noticed that the same thing using double takes less than a millisecond. So obviously they use some smart ideas.

    不是真的double的精度有限,因此它基本上只需要计算结果中最重要的52位,并且可以跳过其余的计算。当然,在硬件中实现这一点也有帮助