HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0904
mes"(・∀・)ノィョ-ゥ"多倍長実数の生成8未解決


mes"(・∀・)ノィョ-ゥ"

リンク

2008/9/4(Thu) 21:02:57|NO.19013

みなさんこんにちは。早速質問なのですが、
多倍長の実数、つまり小数点以下を任意の桁まで
精度をあげることはできないでしょうか?

平方根処理などを高精度に処理するのが目的です。
多倍長整数モジュールを用いた『多倍長整数*10^-指数』といった管理法
よりも効率のよい生成法があれば、ご教授願います。



この記事に返信する


ANTARES

リンク

2008/9/5(Fri) 07:48:23|NO.19028

 有効桁数16桁では不足ですか?

mes strf("%.15g",sqrt(2.0))



ANTARES

リンク

2008/9/5(Fri) 08:13:48|NO.19029

 よく見たら13桁しか表示されてないですね。
15桁表示するには16を指定しないといけないみたいです。
またはgでなくfを使うか。

mes strf("%.16g",sqrt(2.0)) mes strf("%.15f",sqrt(2.0))



ANTARES

リンク

2008/9/5(Fri) 08:19:55|NO.19030

どうやら、gの場合は有効桁数を指定するみたいです。
その方が使いやすいですね。

mes strf("%.16g",sqrt(200000000.0)) mes strf("%.15f",sqrt(200000000.0))



mes"(・∀・)ノィョ-ゥ"

リンク

2008/9/5(Fri) 15:12:51|NO.19034

ANTARESさん、返信ありがとうございます。
申し訳ないのですが、16桁では少し足りないようです。

実を言えば、無謀にもHSPでかなりのケタの円周率計算をしようと思っていまして
もしかしたら10000ケタの処理ができればと思っていたのですが、
単純には行きそうにないようですね。

余談ですがガウス=ルジャンドルのアルゴリズムを使用しようと思っています。



p

リンク

2008/9/5(Fri) 17:22:52|NO.19035

っ過去ログにチェックいれて円周率で記事検索



arctan

リンク

2008/9/5(Fri) 20:01:15|NO.19042

横槍を入れてすみません
GMPを機械語の実行で動かすのではだめですか?



mes"(・∀・)ノィョ-ゥ"

リンク

2008/9/7(Sun) 00:17:26|NO.19096

返信ありがとうございます。

pさん
過去ログにグレゴリー級数によるアークタンジェント法での
スクリプトのほうはありましたが、残念ながらこちらが使用したい
アルゴリズムなどの記述は見つかりませんでした。

arctanさん
処理速度や効率を考えれば、たしかにそちらのほうが圧倒的に早いですが
折角のHSPですから、できればHSPで実現してみたいと思っています。
ガウス=ルジャンドルのアルゴリズムを用いたC++ソースが、あるサイトにすでに
紹介されているという理由もあります。



ANTARES

リンク

2008/9/7(Sun) 22:20:42|NO.19127

>ガウス=ルジャンドルのアルゴリズムを用いたC++ソースが、あるサイトにすでに
>紹介されているという理由もあります。
 じゃあ、それをHSPに移植すればいいだけでは?



ONION software Copyright 1997-2023(c) All rights reserved.