ホーム ] 実行時間計測ラブラリ ] EXIF情報ライブラリ ] 文字式演算 ] クイックソートライブラリ ] 多倍長演算ライブラリ ] 多倍長演算ライブラリU ] 画像処理ライブラリ ]

上へ
概要
プログラミング仕様
演算速度
技術解説(システム編)
技術解説(四則演算編)
技術解説(FFT編)
技術解説(数学関数編)

多倍長演算ライブラリ(MegaPrecision)

技術解説(システム編)

最終更新日:2007/04/26 新規

●概要

 MegaPrecision 特有な技術やそのシステムについて解説する。

多倍長語 MegaLong

 構造体 MegaLongは、MegaPrecision で使用される数値であるが、世の中との互換性はない。 10進の浮動小数点形式となっている。

 10進にしたのは、通常科学演算では10進であること、2進の小数で10進を表現する場合、無限循環小数になることがあること(有名なのは、0.1 )、人間に分かる10進表示では、2進数の場合、基数変換が重くなる(厄介で時間が掛かる処理となる)・・・などの理由である。

基数変換

 基数変換について、その方法の一例を紹介する。

数値変換

 一般的な数値をMegaLong に変換したり、MegaLong を一般数値や人間に分かる表現にしたりする。これがないと多倍長演算の意味がない。

数学定数システム

 定数とは、数学定数で、π や e などを言う。それらは、内外で使用されるが、設定された精度を反映する仕組みが必要となる。

演算時間予測システム

 数学の関数を級数やニュートン法などにより算出させる場合、その演算速度を知るためには、実測するのが一番良いが、関数によっては精度があがると、数十時間、数日間に及ぶものがある。これでは計測は困難である。今回、これをシステム化し、パラメータなどを与えると自動的に算出する仕組みを構築したので紹介する。