新しく発言する EXIT インデックスへ
大きな数字

  大きな数字 ペネロペ・クルクルパー 2005/12/23 11:20:18 
  千桁モードとCPUのビット数とは無関係です。... 白石 和夫 2005/12/24 12:09:43 
  計算結果として何桁欲しいか 河川屋 2005/12/30 12:01:55 

  大きな数字 ペネロペ・クルクルパー 2005/12/23 11:20:18  ツリーへ

大きな数字 返事を書く
ペネロペ・クルクルパー 2005/12/23 11:20:18
1ミリオンを1M, 10ビリオンを10M^2, 100トリリオンを100M^3と書く場合、M^999まで名前が付けられます。
1M^999はイギリス式だと1の後に0が5994個あり、アメリカ式だと3000個になります。
十進BASICには千桁モードがありますけど64ビットのCPUが普及したら桁数は増えますか。

  千桁モードとCPUのビット数とは無関係です。... 白石 和夫 2005/12/24 12:09:43  ツリーへ

Re: 大きな数字 返事を書く
白石 和夫 2005/12/24 12:09:43
千桁モードとCPUのビット数とは無関係です。
千桁モードができた由来は,Windowsのメモコントロールで1行に表示できる桁数がおそそ1000桁から2000桁程度であることにあります。
大きな数の計算がお望みなら,有理数モードをお使いください。
計算に時間がかかるかも知れませんが,得られた結果は厳密に正確です。
10^100000程度の計算なら数秒でできます。

32ビットCPUだとアプリケーションはおよそ2^31程度までのメモリが使えます。それを全部使うだけでも相当に大きな数が表現できますが,残念なことにそんな大きな数を計算させると,とても長い時間がかかります。この手の計算を速くしたいと考えたら,おそらく64ビットCPUでも力不足ではないでしょうか?

  計算結果として何桁欲しいか 河川屋 2005/12/30 12:01:55  ツリーへ

Re: 大きな数字 返事を書く
河川屋 2005/12/30 12:01:55
計算結果として何桁欲しいか

>十進BASICには千桁モードがありますけど64ビットのCPUが普及したら桁数は増えますか。
まあ、普通の回答として、
倍精度(十進Baiscの2進モード、IEEE規格)は計算結果64ビット
(計算の途中では80ビット。80ビットはpentiumの場合で、sparcなどはもっと多い。)
であるので、64ビットの桁は既に実現しているから、CPUが
64ビットになっても相変わらず64ビット実数は使われるでしょう。

で、128ビットが必要か、というと、そういう需要自体があまり無いとう事情があります。
というのは、最終的に何桁の精度で答が欲しいか、というのがありますが、
たとえば、構造計算(姉歯で最近有名。)では、せいぜい3桁あれば可。
よって、単精度(32ビット)演算で実は充分。
物理現象で最大の有効桁を有するものは、たぶん光速度で、
2.99792458×10^8m/sec。 有効9桁。
ですから、現行の倍精度(10進15桁)で充分間に合います。

よって、科学技術計算上は、現行倍精度演算で困る、ということはまず生じません。


あと、有理数モードに一言。 これって、「謎のモード」なんです。
というのは、科学技術計算には、平方根や円周率、対数がバンバン出て来ます。
平方根は無理数、円周率、対数は超越数。どちらも有理数でないから有理数モードでも正確な値は表記できない。
数値計算上は、有効○桁の数として扱うしかないです。
そして、ソレで問題ないです。

つまり、この世の計算問題とは、離散型問題と連続型問題に大別でき、
離散型問題:いわゆる整数問題。最終1ビットが違っていても間違い。
連続型問題:いわゆる実数問題。最終的に欲しい精度まで答が合っていれば、それ以上は正誤を追求しない。
という根源的な違いがあります。

私はハンドル名のとおり、技術計算屋の派閥に属しており、離散型問題は普段解きません。
ですので、こういう感想になります。
※純数学上はこうならないのは承知の上。でも、工学上、
実数とは誤差を含んでいるという概念は、どうしようもないかな?


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。