正しい9999999999999^99999999999の計算方法(関数電卓)

今回は超巨大な数の計算方法を実践してみる事にします。

通常での電卓では計算出来ませんし、かといって手計算であれば大変な事になります。そこで今回はwindowsに標準搭載されている関数電卓を使用して検証してみます。dentaku01
念の為表示の仕方を書いておきます。

メニューボタン⇒全てのプログラム⇒アクセサリ⇒電卓

では、実際に999999999999999999999999を計算していきましょう!

目標は大きな数の指数表記

S×10n(1≦S<10)

の形式に直す事です。(Sの事を仮数significandと呼びます)
999999999999999999999999は以下の様に直すことが出来ます。

999999999999999999999999=(10000000000000-1)100000000000-1

つまり、≒10000000000000100000000000と言う事になりますので試しにこれを計算してみます。

そうすると10000000000000100000000000=101300000000000(10の1兆3000億乗)と言う事になります。では、1000000000000099999999999=101300000000000-13=101299999999987となりますね?それでは、最終的に(10000000000000-1)99999999999を割り出せばいいのですから、-1すれば良いだけです。

では、(x-1)nを使用すればよいですね!

でも待って下さい。

(x-1)2=x2-2x+1
(x-1)3=x3-3x2+3x-1 となりだんだんややこしくなっていきます・・・そしてついに(x-1)99999999999など計算しようものならもう無理ですねwww
=x999…999-999…999x999…998+….~…+999…999x-1(笑)(笑)(笑)

はい。完全絶望的です。で、結局コンピューターを使用する事になるんですが、デカ過ぎる計算をするとエラーが帰ってくるだけなので、コンピュータを使うにしても工夫が必要ですね!

そこで、冒頭の秘密兵器の登場です!関数電卓モードにして下さい!dentaku02
そして

対数 LOG

を使用していきます。対数(log)とは何乗すればその値になるかを表している。
x=bpで成り立っている時、p=log pxとなる。つまりx=blog pxと変形する事が出来る。
この時、bを底数と呼ぶ。具体例をあげると、
16=2?でしょうか?????4ですね。つまりこの4はこの様に表す事ができる。?=4=log2 16
では、log10 1000は?=4なぜなら10000=104このようにlog10は10進法との親和性が非常に良く、常用対数と呼ばれる。
そこでwindowsのlogボタンを使います。dentaku03
何故logかと言うと、今回みたいな巨大な指数演算に非常に威力を発揮するからです!例えば、log xpはp×log xと変形させる事ができてしまうのだ。では改めて999999999999999999999999を計算してみましょう!
999999999999999999999999=(10log 9999999999999)99999999999となるので指数を変形して=1099999999999×9999999999999となる!!!!!
では電卓でlog9999999999999を計算するとdentaku04
12.999999999999956570551809672646とでてくる!!!

次にこの数に99999999999を掛けると、dentaku05
1299999999986.995657055181010694がでてくる!
ここまでできればあとはこれを指数にして、101299999999986.995657055181010694で元丸!

結論、512GBのHDが取りうる全状態数に近いぐらいの数字である!