誕生日にもらった意外なもの

16進数n桁を10進数で表すとき何桁必要なのかを調べていたのですが
例:FF(16進2桁)→255(10進3桁)
計算式はlog10(16^n)桁(端数繰り上げ)になると思います。

ところで16進n桁に対して10進は2*n桁あれば十分なのかどうかを知りたいのです。
つまり16進数100桁に対して10進数200桁あれば十分ですが
nが大きい数字でも成立するのかどうか。

log10(16^n) < 2 * n になるのかな??

当方数学的な知識が乏しいものでそうなるのかどうかわかりません。
是非ご教授頂けないでしょうか。宜しくお願い致します。

A 回答 (1件)

> 計算式はlog10(16^n)桁(端数繰り上げ)になると思います。


これで正解です。

log10(16^n) = n*log10(16) = 1.2*n (端数繰り上げ)
ですから、10進は [1.2*n+1]桁 で十分で、2*n桁は (もちろん十分ですが) 過剰です。(ここで [] は切捨てです。)
16進数100桁は 10進数121桁です。
    • good
    • 0
この回答へのお礼

>log10(16^n) = n*log10(16)
迅速かつ適切なご回答、有り難うございます。
そういう変換ができる事を久しぶりに思い出しました。

お礼日時:2006/05/15 19:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!