大きな数字 ペネロペ・クルクルパー 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ビットが違っていても間違い。 連続型問題:いわゆる実数問題。最終的に欲しい精度まで答が合っていれば、それ以上は正誤を追求しない。 という根源的な違いがあります。 私はハンドル名のとおり、技術計算屋の派閥に属しており、離散型問題は普段解きません。 ですので、こういう感想になります。 ※純数学上はこうならないのは承知の上。でも、工学上、 実数とは誤差を含んでいるという概念は、どうしようもないかな? |