私は任意精度計算のためのライブラリをプログラミングしています。私が直面している最後の問題は、パワー関数です。私はx^y
の代わりに2^(y log2(x))
を計算しましたが、1つの副次問題が残っています。(0,1)
(0と1は除外)のx
で効率的に2^x
を計算するにはどうすればいいですか?数値近似2^x
とにかく、私は明らかに収入を保存しているので、x
の形式はp/q
(p < q
)です。したがってのq
ルート(Wikipediaのn番目のルートアルゴリズムhttps://en.wikipedia.org/wiki/Nth_root_algorithm)を計算してから、累乗をp
で累乗することができました。
しかし、これは非常に非効率的なようです。優れたアルゴリズムはありますか?ご協力いただきありがとうございます。
自然対数が自然と呼ばれる理由がわかります。 'exp(y * ln(x))'は定数が少ないので、すべてを基にするのはあまり意味がありません。 - これらの機能の実績のある実装については、[bc libmath](http://www.rkeene.org/viewer/devel/old/bc-dos/bc/libmath.b.htm)を参照してください。 – LutzL
基本については、[負の指数の二乗によるパワー](http://stackoverflow.com/a/30962495/2521214)を参照してください。さらに高度なもののサブリンク特に固定点ビッグファームpow – Spektre