
Googleの電卓アプリの有効数字は何桁ですか?
Google LLCが提供する電卓アプリは、答えの欄を左にスライドすると、表示されていなかった桁が表示されます。
例えばπと入力すると「3.1415926535897」と表示されますが、これを左にスライドすると「…6939937510E-50」という表示になり、コピーすると、「3.14159265358979323846264338327950288419716939937510」と桁がどんどん増えます。
どこまで行くのか興味本位で見てみたのですが、小数点以下1000桁を超えたところで諦めました。
どこまで正しいのかと思い、990桁から1000桁までの値を確認したところ、少なくともその10桁分は正しい数字でした。
他の無理数も同様に表示されますし、無理数同士を計算させても同様です。
例えばπ×eだと、8.5397342226735670654635508695465744950348885357651149618796011301792286111573308075725638697104739439137749425116774676463211875906960239906183634537907041454202159948896334285274670004668776609307271129039350748040105572704034862730399865654064416617922928571370821637441297616847117254467231842034075165787302050670799947207629896796437371390090083987078522063304829803538464017315300197823627677025803574125597205517263989861734495909261241228968076458278542054316321579541951026175332613932709126923927435756831273547062218425934298391319181359444062044277019848937723244461590894037006015139018664587473984982365540065126945719550981751896760986239122014850815554560798156867530858673908089664583636649117119769295152593841254633843587604081480261580858328767359947160696670819154994153844698538068233913462818666664571522296048145803909549895206796759311109253859754152231643462044090432790566901019899287308314547907932716072909194847718849199287893716248460945011165220319673197105821183270933(1000桁)
と答えを出せます。
しかしこれはどこまで表示でき、どこまで正しいのでしょうか。
また、これほど大きい桁数の計算をスマホ内で速く正確に行えるものなのでしょうか。
2022年6月に円周率は100兆桁まで計算されたそうです。まさかそこまでは出ないと思いますが、そこまでスライドして確認しているヒマもありません。
アプリの解説には有効数字はおろか、スライドしたら表示桁数が増える機能の説明すらされていません。
気になったので、どなたか教えてください。
以下はアプリのURLです。
https://play.google.com/store/apps/details?id=co …
No.1ベストアンサー
- 回答日時:
ちょっと試してみました
1 + 10^(負の整数)-1 を計算すると
負の整数が -1506 に達すると 0 になりますね。
10^(-1506) はちゃんと計算できます。
以上から有効桁数は 1506 桁 くらい?
面白い実装ですね。30桁の整数の加減乗除とか
平然とできる。
python(pydroid) の decimal 型で多倍長演算が可能ですが
ミドルクラスのスマホでも 1万桁の四則演算は一瞬です。
今のスマホではたいした計算量では無いようですね。
π1万桁は算術幾何平均法で、
python(pydriod) で数秒で求まります。
回答ありがとうございます。
なるほど、10の累乗で桁数を確認する方法がありましたね。
しかし、回答者さんと私の結果が違っています。
私のスマホでは1+10^75257−1まで計算できています。
機種やOSによって変わるのかもしれません。
ちなみに私のスマホはpixel8でAndroid14です。
確かめるのがしんどいですが、πやeも75257桁まで正確なのでしょうか。
というかこれは、桁をスライドして表示させるたびに計算しなおしてるんですかね。
毎回有効数字7万桁で計算するなんて、いくらスペックに余裕があったとしても無駄な気がします(^_^;)
No.4
- 回答日時:
遅延評価(delayed evaluation)あるいはコルーチン(coroutine)を使っているかも知れんですね。
それなら、毎度やたらたくさんの桁数で計算する必要はない。遅延評価やコルーチンは並列プログラミング言語に特徴的な方式で、ご質問の場合に想定される仕組みはこうです:
小数点以下際限なく計算をやるプロセスC(とは言っても、メモリの制約があるんで、ある巨大な有限桁で打ち切り)と、表示用のプロセスDが並列で走っている。Dは表示に必要な桁数の計算をCに要求し、答が返ってくるまで実行を中断(suspend)する。Cは計算を行って、要求を満たす結果が得られた時点で結果をDに返し、実行を(まだ計算を続けられる状態を維持したまま)中断(suspend)する。答が返ってきた時点でDは実行を続行(resume)するので答が表示される。で、Dがさらに多くの桁数をCに要求してsusupendする。Cは計算をresumeし、Dに答を返したらsuspend。その答を受けてDがresume。
No.2
- 回答日時:
有効数字? 意味が違うのでは?
無限精度(人が操作する分にはでしょうけど)だと聞いたことがあります
No.1にある
1 + 10^(-1506)-1
は0ではなく
1.E-1506
となります
1 + 10^(-3000)-1
=1.E-3000
になります
EXCELで
3.8-3.7-0.1を計算すると-3.60822E-16になりますが
google電卓では0になります
EXCELで0.000123456789012345+1は1.00012345678901ですが
google電卓では1.000123456789012345になります
回答ありがとうございます。
電卓によって行われる小数点丸めも有効数字でよいのかと思っていました。
違うとしたら適当な言葉は何になるのでしょうか。
No.2さんの場合も小数点以下3000桁までは計算してくれるようですね。
私も1506では止まりませんでしたが、75257で止まりました。
もしかしたら環境によって違うのかもしれません。
良ければどこまで計算できるか試してみてください。
この桁数がアプリの限界ではなく、環境に依存しているのだとすれば、アプリとしては無限精度になってるのかもしれませんね。
今、pixel8のAndroid14で最新なので、OSのアップデートがあったら試してみたいと思います。
だれかPixel 8 proで試してみてくれないですかね。笑
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
数値とアルファベットに分ける...
-
7で始まる電話番号?
-
アナログの電力量計を見たとき ...
-
数学の階乗はどんな時に使うの...
-
√2の値はなぜ1.414…になるんで...
-
一億引く百が苦手なめい
-
4.5×10のー3乗=?
-
関数電卓の表示方法を変更したい
-
3÷7のあまりは「3」ですか?
-
EXCELで10万未満切捨ての...
-
数字3桁の組み合わせの何通り...
-
エクセルの計算式で割り切れる...
-
数学Aです。 1,2,3,4を重複を許...
-
NUMBER(N,M) としたときの、格...
-
60進法と10進法
-
【場合の数】 2桁の自然数で、2...
-
計算をして有効数字2桁で答えな...
-
2進数「0110-0011」の計算方法を...
-
大雪で小屋根の軒桁が外れた
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
7で始まる電話番号?
-
数学の階乗はどんな時に使うの...
-
3÷7のあまりは「3」ですか?
-
数値とアルファベットに分ける...
-
2進数の割り算が分かりません...
-
√2の値はなぜ1.414…になるんで...
-
EXCELで10万未満切捨ての...
-
大雪で小屋根の軒桁が外れた
-
NUMBER(N,M) としたときの、格...
-
数字3桁の組み合わせの何通り...
-
関数電卓の表示方法を変更したい
-
Excelで数値の丸め
-
3分の1とは何パーセントでしょ...
-
60進法と10進法
-
エクセル関数で桁数指定し数値...
-
算数です。 割り算の筆算で、商...
-
1÷7の循環小数についてなのです...
-
100!
-
計算をして有効数字2桁で答えな...
おすすめ情報
1+10^75258-1
1+10^75257-1
お礼でプラスマイナス間違えてました
数字もちょっとずれて
1+10^(−10^1315)−1は計算できて、1+10^(−10^1316)−1は計算できませんでした。
1+10^(−10^1316)−1
1+10^(−10^1315)−1