ゼロでない整数の 10 進表示のけた数 D と 2 進数表示の桁数 B との関係を表す
式はどれか。

 ア D ≒ 2 log10(B) * 底が,10の意味

 イ D ≒ 10 log2(B)

 ウ D ≒ B log2(10)

 エ D ≒ B log10(2)



■自分の解答
> -------------------------------------------------------------
> 裏 ソフト開発向け        エ
> 考えたこと・調べたこと・質問

10進数で4096の場合、2進数は、1000000000000
D= 4
B=13

以上の値をそれぞれに代入していくと
ア:D=4、2log10(B)=2*log10(13)≒2*1.2=2.4
イ:D=4、2log2(B) =2*log2(13)≒2*4=8
ウ:D=4、Blog2(10)=13*log2(10)≒13*3=29
エ:D=4、Blog10(2)=13*log10(2)≒13*0.3=3.9

以上よりエである。

テストのときは、10,100,1000を代入し、ざっくりと値を算出しました。
log10(2)の値がはっきりわからなかったため、イとエで迷いました。
素早く解ける方法あるのでしょうか?

> -------------------------------------------------------------






■キーワード■ 対数,桁数計算

■解答■
  ソフトウェア開発技術者午前平成17年秋問01
  基本情報技術者午前平成15年秋問02

 エ D ≒ B log10(2)

> 10^(D-1)*a+10^(D-2)*b+・・・c=2^(B-1)*x+2^(B-2)*y+・・・z
> 10^(D-1)*a≒2^(B-1)*x
> log10(10^(D-1)*a)≒log10(2^(B-1)*x)
> log10(10^(D-1))+log10(a)≒log10(2^(B-1))+log10(x)
> log10(10^(D-1))≒log10(2^(B-1))
> D-1≒(B-1)log10(2)
> D ≒ B log10(2)

 どうもありがとうございます。

> 10進数で4096の場合、2進数は、1000000000000
> D= 4
> B=13
>
> 以上の値をそれぞれに代入していくと
> ア:D=4、2log10(B)=2*log10(13)≒2*1.2=2.4
> イ:D=4、2log2(B) =2*log2(13)≒2*4=8
> ウ:D=4、Blog2(10)=13*log2(10)≒13*3=29
> エ:D=4、Blog10(2)=13*log10(2)≒13*0.3=3.9
>
> 以上よりエである。
>
> テストのときは、10,100,1000を代入し、ざっくりと値を算出しました。
> log10(2)の値がはっきりわからなかったため、イとエで迷いました。
> 素早く解ける方法あるのでしょうか?

 log の式変形を覚えましょう。ソフ開レベルでは,log の式変形は出来るよう
にしておきましょう。
 この問題は,
 10^D = 2^B
で底が,10 で log にして,式変形をします。

> 10^D=2^B
> D log10(10) = B log10(2)
> D = B log10(2)

 どうもありがとうございます。



これからこちらでソフ開宿題メールの解答の履歴を載せていこうと思います。
http://jwork.g.hatena.ne.jp/anzuuuu/