逆数を求めるプログラム

巨大な桁同士の高精度な除算をするには、普通に除算をするよりも、逆数を求め、それを掛けた方が遥かに速く計算できる。つまり、A÷BはA×(1/B)として計算する。ここでBの逆数、つまり、1/Bはニュートン法を用いると乗算のみで計算が可能。

このプログラムは、巨大桁AとBを乱数で求めた上で、Bの逆数を求め、Aに掛けることによりほぼ1になることを確かめる除算検証プログラムです。
また、FFT部分は大浦さん公開の汎用FFTパッケージを使用します。
尚、intは32ビット、long doubleは80ビットタイプを想定してます。

ちなみに、このプログラムを円周率計算ソフトpt278wに使用しました。

参考にしたサイト
逆数と平方根を求める高次収束アルゴリズム

関連
円周率計算ソフト Windows版
FFTを用いて多倍長乗算をしてみた
円周率100万桁を計算する

人気ベスト20(ページ内)
トップページに戻る
作成日2007/2/8,最終更新日2008/04/11