擅长:python、mysql、java
<p>我想说这是意料之中的,因为这里有一种<code>10**x</code>的幂计算,在十进制的情况下,这意味着在每一步之后检查精度。在</p>
<p>考虑下面的例子,很明显十进制幂运算非常昂贵:</p>
<pre><code>In [6]: from decimal import Decimal
In [7]: %timeit 10**.0123456789
100000000 loops, best of 3: 16.6 ns per loop
In [8]: %timeit 10**Decimal(.0123456789)
10000 loops, best of 3: 95.3 µs per loop
</code></pre>
<hr/>
<p>因此,与其对(3)方程进行十进制运算,不如直接对第一个(1)进行运算:</p>
^{pr2}$
<p>这应该足够快,因为总共只有3个操作发生,并且应该具有相同的精度,因为我们使用的是<code>Decimal</code>。在</p>