• ベストアンサー

logを利用した計算問題について

ゼロでない整数の10進数表示の桁数Dと 2進数表示の桁数Bとの関係を示した式は、どれか。 正解:D=B log10 2 このような計算問題があるのですが、 logを利用した計算問題は、どのように解けば良いのでしょうか。 下記の内容が分かりません。 「D=log10 2^4=4 log10 2=1.2」 「D=log10 2^16=16 log10 2=4.8」 「log」の計算式は、桁数を解く方法なのでしょうか。 上記に書いた問題の解き方を詳しく教えて下さい。 以上、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • naniwacchi
  • ベストアンサー率47% (942/1970)
回答No.4

#2です。 なんとなく、情報処理関係の問題かと思ったのですが・・・ 必要なビット数(2進法でのケタ数)を見積もる目的かと。 >2進法でB桁となる整数:Mは「2^(B-1)≦M<2^B」とされていますが、 >これに実数を当て嵌めて説明して頂けないでしょうか。 「実数を」というのは「実際の数字を」という意味ですよね。 10進法で、「ある整数:Nが Dケタである」ことを式で表すと 10^(D-1)≦ N< 10^D というのは、 10^(D-1)= 100・・・(0が D-1個)・・・0 10^D= 100・・・(0が D個)・・・0 なので、この間にある数は Dケタということになります。 2進法でも、同じです。 2^(B-1)を 2進法で表すと、100・・・(0が B-1個)・・・0 2^Bを 2進法で表すと、100・・・(0が B個)・・・0 となるので、この間にある数は 2進法で Bケタということになります。 >下記も同じになります。 >(B-1)*log[10](2)≦log[10](M)<B*log[10](2) >B*log[10](2)-log[10](2)≦log[10](M)<B*log[10](2) >0<log[10](2)<1(値としては約 0.3)であるので、 >B*log(2)-1<B*log(2)-log(2)≦log(M)<B*log(2) 計算を一つ一つ説明するのは、あまり好まないのですが・・・ ・1行目から 2行目は、単に左辺の括弧を展開しただけです。 ・最後の行は、log(2)≒ 0.3なので、 B*log(2)- log(2)≒ B*log(2)- 0.3> B*log(2)- 1 としているだけです。 logが入っていますが、計算自体は単純な変形しかしていません。

wwmomo
質問者

お礼

ご回答ありがとうございます。 連絡が遅くなり、申し訳ありません。 当方なりに勉強したのですが、 分からない点が見付かりましたので、 出来ましたら、ご教授お願いします。 「D=B log10 2」が10を何乗すれば 2のB乗になるのか、ということは分かりました。 しかし下記の説明を理解することが出来ませんでした。 >B*log(2)-1<B*log(2)-log(2)≦log(M)<B*log(2) ここの「B*log(2)-log(2)」をすると、どうなるのでしょう。 >B*log(2)-1<B*log(2)-log(2)≦log(M)<B*log(2) ここの(M)には、何が入るのでしょうか。 >B*log(2)- log(2)≒ B*log(2)- 0.3> B*log(2)- 1 ここの(-0.3)は、どこから3を引くのでしょうか。 お手数お掛けして申し訳ありませんが、 お時間に余裕がありましたら、ご回答お願い致します。 以上、よろしくお願い致します。

その他の回答 (3)

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.3

おそらく、その選択肢は正解ではありません。 問題(特に、他の選択肢)と問題集の解説を よく検討したほうがよいです。 D と B は、桁数ですから、自然数ですが、 log10 2 は、有理数ではありません。

wwmomo
質問者

お礼

ご回答ありがとうございます。 もっと「log」について勉強したいと思います。 以上、ありがとうございました。

  • naniwacchi
  • ベストアンサー率47% (942/1970)
回答No.2

こんばんわ。 いきなり logで考えようとするとややこしいので、 「ケタ」ということから考えてみます。 少し長くなりますけど、容赦ください。^^; 「ある整数:Nが Dケタである」ことを式で表すと 10^(D-1)≦ N< 10^D となります。 さらに、常用対数(底を 10とした対数)をとれば D-1≦ log[10](N)< D となって、常用対数をとったときの(整数部分)+1がケタ数を表すことになります。 (例:log[10](N)= 3.4であれば、4-1≦ 3.4< 4よりケタ数は 4ケタとなる。) 次に、2進法で同じようにケタを考えます。 2進法で Bケタとなる整数:Mは 2^(B-1)≦ M< 2^B を満たします。 各辺、常用対数をとると、 (B-1)* log[10](2)≦ log[10](M)< B* log[10](2) B* log[10](2)- log[10](2)≦ log[10](M)< B* log[10](2) 0< log[10](2)< 1(値としては、約 0.3)であるので、 B* log(2)- 1< B*log(2)- log(2)≦ log(M)< B* log(2) (底の[10]を略しました) つまり、B* log(2)- 1< log(M)< B* log(2)と表されるので、 D= B* log[10](2)となります。 >下記の内容が分かりません。 >「D=log10 2^4=4 log10 2=1.2」 >「D=log10 2^16=16 log10 2=4.8」 D= 1.2であれば、整数部分+1= 2ですから 10進法では 2ケタの数であり、 D= 4.8であれば同様にして 10進法で 5ケタの数であることがわかります。 >「log」の計算式は、桁数を解く方法なのでしょうか。 そもそものケタ数は、指数を使って考えています。 その指数の計算をするために、対数「log」が現れてきます。

wwmomo
質問者

お礼

ご回答ありがとうございます。 しかし2進数法で同じように桁数を出す方法の理解が出来ませんでした。 2進法でB桁となる整数:Mは「2^(B-1)≦M<2^B」とされていますが、 これに実数を当て嵌めて説明して頂けないでしょうか。 下記も同じになります。 (B-1)*log[10](2)≦log[10](M)<B*log[10](2) B*log[10](2)-log[10](2)≦log[10](M)<B*log[10](2) 0<log[10](2)<1(値としては約 0.3)であるので、 B*log(2)-1<B*log(2)-log(2)≦log(M)<B*log(2) 馬鹿で申し訳ありません。 1つ1つに解説を付けて説明して頂けると嬉しいです。 以上、よろしくお願い致します。

  • alwen25
  • ベストアンサー率21% (272/1253)
回答No.1

これは数学公式です。 教科書を見てください。 log10a^b=blog10a 書き方が変ですが10が底です。

wwmomo
質問者

お礼

ご回答ありがとうございます。 もっと「log」について勉強したいと思います。 以上、ありがとうございました。

関連するQ&A