アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

「ナンでそんなことをやるのか」という説明は伏せさせていただき、
以下のことについてお教え下さい。

80個のカウンターがあり、
3桁~7桁の整数が無秩序に入っています。
この総積数を求めたいのですが、

初め、「dim kekka as long」としたところ、オーバーフローしました。
(アトで当たり前かと思った次第ですが)
なので、
「dim kekka as double」としたところ、結果は出ましたが、
「9.5865~485E+36」の様な風に表示されます。

ココで質問ですが、
この結果は下1桁まで精度はあるのでしょうか。
それとも、これだけ大きいと丸められてしまっているのでしょうか。

下1桁まで精度があるなら良いのですが、
無い場合の対処法も教えていただけると有り難いのですが。
宜しくお願いします。

A 回答 (1件)

doubleの精度は53bit、10進数で15桁くらいです。

答えが36桁の数値なようですので、一桁目までは精度はありません。
一般に桁数の多い整数の計算は、多倍長整数演算といいます。検索するとExcel用の多倍長整数演算アドインなどあるようですので、そういうものを使ってみてはいかがでしょうか。

余談。
3桁以上の整数が80個だと積は36桁くらいではなく少なくとも160桁以上になると思われます。計算間違ってない?
    • good
    • 0
この回答へのお礼

早速有り難うございました。
やはり精度はないのですね、了解しました。
「多倍長整数演算」を探してみます。

>少なくとも160桁以上になると思われます。
 済みません質問がいい加減でした。
 80個の中に1桁も何個か混じっています。
 表示された最後の「E+36」が桁数なのですね、
 勉強になりました。

お世話になりました。

お礼日時:2018/01/29 11:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!