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 …
A 回答 (4件)
- 最新から表示
- 回答順に表示
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.3
- 回答日時:
>1+10^75257-1
これは桁落ちしないから
有効桁数のチェックには使えないと思います。
指数はマイナスにして下さい。
あ!
本当ですね。
すみません。
凡ミスでした。
マイナスにしたところ、大きく数が変わりました。
数字が大きすぎるので、こちらも指数で表したところ1-10^(-10^1314)-1まで計算でき、1-10^(-10^1315)-1から計算できなくなりました。
七万桁どころじゃありませんでした。
整数部より小数部の方が桁数を大きく取れるのが面白いですね。
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で試してみてくれないですかね。笑
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万桁で計算するなんて、いくらスペックに余裕があったとしても無駄な気がします(^_^;)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- Android(アンドロイド) [アンドロイド] Google公式アプリの見分け方 4 2023/11/16 12:10
- 計算機科学 有効数字の計算法について、(152-157)/6.5のときの答えについてです。 まず、分子と分母の有 5 2023/09/27 23:47
- Excel(エクセル) エクセルで有効桁数を確認する方法 5 2023/11/01 13:14
- 化学 有効数字の取り扱いについて 高校化学では、測定値同士の計算結果の有効数字は、測定値に合わせるようにな 4 2022/06/30 14:07
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- その他(形式科学) 有効数字の計算の理由 有効数字の掛け算の場合 2桁×3桁だと答えは2桁にしますが、なぜですか? より 1 2024/05/19 23:00
- Android(アンドロイド) Google Playで購入した有料アプリはGoogleアカウントのどこを見れば確認できますか? 2 2023/03/23 19:18
- Java Javaで冪乗を表示したい 2 2022/06/08 00:08
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
なんでですか?
数学
-
三角関数の変換で納得いかないところがあります
数学
-
BINGが間違えた、とっても簡単な算数の問題です、これを見て、どう思われますか。
数学
-
-
4
むじゅん 委細な矛盾が生じるなら分数みたいな表記やめれば?って思いませんか?
数学
-
5
ド・モルガンの法則がほんとに分かりません。 この法則を理解していなくても、問題は解けますか?
数学
-
6
工学部の電気で役に立つ数学の分野は
数学
-
7
これめちゃあやしくないですか???
数学
-
8
数学I アホらしい質問なのでそんなこと考えることは無駄などの解答は受け付けておりません。 また自分的
数学
-
9
このルートを外す計算どうすればいいですか?
数学
-
10
合成抵抗の問題で
物理学
-
11
数学の関数についての質問です。 私は中学3年生で数学が好きなのですが、とくに関数の分野が得意です。
数学
-
12
√2の値の計算方法を教えてください。連分数以外の方法でお願いします。
数学
-
13
√0.25=±0.5である。 これはなぜ正しく無いのですか?
数学
-
14
難しいのでゆっくりよんでください。
数学
-
15
数学の質問です loge 3=1.1になる成り行き教えて欲しいです
数学
-
16
−2.5を四捨五入すると−2ですか?−3ですか?
数学
-
17
e^0.1 の評価
数学
-
18
ピタゴラスの定理は辺の長さが虚数でも成り立ちますか
数学
-
19
数3の複素数のことです。 αとβという複素数があり、|α|=|β|=|α−β|=1であるとき、2β−
数学
-
20
正六角形はなぜ円に内接できるのでしょうか。 正六角形の中に正三角形が6つできる証明はよく分かったので
数学
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2進数の割り算が分かりません...
-
エクセル:6E-05という表現は?
-
数学の階乗はどんな時に使うの...
-
一億引く百が苦手なめい
-
数字3桁の組み合わせの何通り...
-
数値とアルファベットに分ける...
-
3÷7のあまりは「3」ですか?
-
NUMBER(N,M) としたときの、格...
-
60進法と10進法
-
電話番号のハイフンの入れ方
-
Excelで数値の丸め
-
√2の値はなぜ1.414…になるんで...
-
EXCELで10万未満切捨ての...
-
エクセル関数で桁数指定し数値...
-
10進数で123を2進数で表わすと...
-
【場合の数】 2桁の自然数で、2...
-
7で始まる電話番号?
-
0.120は有効数字何桁ですか? ...
-
7で割ると3余り、9で割ると4余...
-
2進数「0110-0011」の計算方法を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
2進数の割り算が分かりません...
-
数字3桁の組み合わせの何通り...
-
1から1000までの1は何回でるの?
-
数値とアルファベットに分ける...
-
3÷7のあまりは「3」ですか?
-
60進法と10進法
-
小数点の引き算
-
電話番号のハイフンの入れ方
-
数学の階乗はどんな時に使うの...
-
EXCELで10万未満切捨ての...
-
NUMBER(N,M) としたときの、格...
-
循環小数を分数にする方法
-
3分の1とは何パーセントでしょ...
-
10進法の数を60進法の数に...
-
100!
-
0.120は有効数字何桁ですか? ...
-
合同式について
-
です。 0.008020 の有効数字は...
-
10進数で123を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