令和2年秋問1

はやまさん  
(No.1)
https://www.ap-siken.com/kakomon/02_aki/q1.html

対数がまったく分からず勉強し直して思ったのですが、対数関数的に別に2進数に限らず、どの基数でも同じ関係式で表せますか?

というのも底の変換公式を使えば、D≒Blog10(3)でもD≒Blog10(4)でも取り得るという解釈に今なっていて、

結局、10^Dの値はX^B上で必ず表わせるんですよね?

(?が多くてすみません)
2023.03.25 09:31
jjon-comさん 
AP プラチナマイスター
(No.2)
> 対数関数的に別に2進数に限らず、どの基数でも同じ関係式で表せますか?
> 結局、10^Dの値はX^B上で必ず表わせるんですよね?

はい、できます。
どんな整数でも「(基数)進数表記で(指数)桁の数」として表すことができる、
(だからある整数を10進数でD桁ともX進数でB桁とも表現できるのですが)
という文と同じだと分かれば、質問者も合点がいくんじゃないでしょうか。
2023.03.25 15:58
はやまさん  
(No.3)
噛み砕いてくださりありがとうございます。

最小値同士、最大値同士がほぼ等しいという部分がちょっと最後まで理解できなかったのですが重ねてお聞きしてもよろしいでしょうか??

最小、最大値じゃなくても等しいとも思いますし、D(またはB)を整数にしたらそれこそほぼ等しくないんですが、どう解釈すれば良いでしょうか?
2023.03.25 18:03
はやまさん  
(No.4)
連投すみません、10^3 1000に対し3^6 729、10^2 100に対し4^3 64、同じく6^3 216などなどこれらも近似の幅に入るのでしょうか?
2023.03.25 20:50
boyonboyonさん 
AP シルバーマイスター
(No.5)
>ほぼ等しくないんですが、どう解釈すれば良いでしょうか?
このあたり、掘り下げると難しくなるのでほどほどで止めた方がよろしいかと。

回答になるかどうか分かりませんが、私見を述べます。

まず、どんな整数でもP進数表記で表すことはできます。
表したときの桁数も分かります。
それと、10^DをX^Bで表すことは、別のことになります。
DとBが整数では、ほぼできません。
例えば、X=2の時は、DとBが両方整数になることはありません。

次に、実際の桁数の動きですが、
>10進表示の桁数Dと2進表示の桁数Bとの関係
これは、1対多or多対1になります。
(例)  10進数で1023(4桁)→2進数で10桁
        10進数で8192(4桁)→2進数で14桁
反対に、10進数で64(2桁)→2進数で1000000(7桁)
        10進数で127(3桁)→2進数で1111111(7桁)

こうなるとお手上げで???になってしまいます。そこで桁数とは考えにくいですが、DとBの範囲を実数に拡張すれば、
10^D=2^Bの時、Dを、Bを使って表すと、D=B*log2(底は10)になります。
***log2は、整数ではありません。

最後に、設問及び本問の解説では、D,Bを整数とは言っていません。正の整数と言っているのは、表示される数のことです。
解説の最後には、
>2進表示でB桁になる数値は、10進表示でおよそB*log2桁
と書いてあります。B*log2桁を整数にするには、Bが整数ではなく、
Bが整数ならば、B*log2桁は、整数ではありません。
2023.03.25 21:55
はやまさん  
(No.6)
浅見混じりの質問に、回答いただきありがとうございます。

>10^D=2^Bの時、Dを、Bを使って表すと、D=B*log2(底は10)になります。
この10^D=2^Bの時という前提のもと対数の公式で導出するところ、前提条件は実数まで拡張することで成立させるところまで理解することができました。

実数で拡張となると10^D≈2^Bではなく、10^D=2^B
だからこそ、D≈Blog(10)Xで、Xは実際に何進数でも良いことになる。

一方、こと桁に関しては一つずれるだけで値が全然変わってしまうので、おおよそでそんなのを作るって結構ガバガバな関係式ではないですか?

(試験対策的には関係なくなりましたすみません)
2023.03.25 22:41
pixさん 
AP シルバーマイスター
(No.7)
この投稿は投稿者により削除されました。(2023.03.25 23:04)
2023.03.25 23:04
pixさん 
AP シルバーマイスター
(No.8)
私の理解で解説いたします。

10進数の9は、2進数の2^3=8と2^4=16の間にあります。
ここからわかることは
10進数の1桁の数は、2進数にすると3桁か4桁くらいになるというものです。
また、10進数の99は、2進数の2^6=64と2^7=128の間にあります。
上と一緒で10進数の2桁の数は、2進数にすると6桁か7桁くらいになります。

上を踏まえると10進数と2進数の桁数の関係が見えてきます。それが
10進数の桁数 ≒ 2進数の桁数 × log10(2) です。
log10(2)は常用対数表から探すと0.301です。
したがって、
10進数の桁数 ≒ 2進数の桁数 × 0.301 になります。

2進数の桁に0.301を掛けたものが大体の10進数の桁になるというものです。
誤差1桁くらいはありますが、おおよそ許容範囲です。
以下例を挙げます。
3 × 0.301 = 0.903 (10進数で約1桁)
4 × 0.301 = 1.204 (10進数で約1桁か2桁)

6 × 0.301 = 1.806 (10進数で約1桁か2桁)
7 × 0.301 = 2.107 (10進数で約2桁か3桁)

この関係性がわかっていれば、
2進数で128桁の数は10進数で
128 × 0.301 = 38.528 (10進数で約38桁か39桁)
2進数で1024桁の数は10進数で
1024 × 0.301 = 308.224 (10進数で約308桁か309桁)
のように大きな数でも誤差1桁くらいで10進数の桁数が求められます。
2023.03.25 23:06
Howitzerさん 
(No.9)
この問題の解説では、「10^D≒2^B」という式から計算を始めたいがために、
「最小値同士、最大値同士がほぼ等しい」という説明をしているのだと思います。

私は「10^D=2^B」から始めてよいと思います。
そうすると、底は10でも2でも結局
  D=Blog(10)2 ←括弧内は底、「≒」ではなく「=」
になります。
boyonboyonさんの言うように、このままではDは整数ではないので、
整数に丸めるという意味で≒に変更して
  D≒Blog(10)2
が導き出せます。
つまり最後に帳尻を合わせれば、「最小値同士、最大値同士がほぼ等しい」という説明は不要だと思います。
2023.03.26 00:33
はやまさん  
(No.10)
皆様大変ありがとうございました。
2023.03.27 07:46

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop