• ベストアンサー

進数で桁数を求める

例えば、8bitの時、10進数では何桁になるかを計算したいです。 どの様に計算するのでしょうか? 256を使わないで計算したいです。よろしくお願いいたします。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8467/18126)
回答No.2

10進数で何桁になるかは元の数がわからなければ求められません。

その他の回答 (1)

回答No.1

10進数の「ある数x」が「何桁になるか」は「log」を使います。 例えば、10進数の「123」が何桁か知りたいなら、logを取って求めた数値の整数部に1を足したのが「桁数」になります。 log123=2.08990511144...⇒整数部は2なので、桁数は2+1=3で「3桁」です。 log999=2.99956548823...⇒整数部は2なので、桁数は2+1=3で「3桁」です。 log1000=3⇒整数部は3なので、桁数は3+1=4で「4桁」です。 この計算は「2進数でも同じ」です。 8ビットで表せる最大の数は「2の8乗引く1」つまり「255」です(256だと100000000(2)で、9ビットになるので、256ではありません。 つまりnビットが10進数で何桁になるのかは ・2のn乗を求める ・そこから1を引く ・その数でlogを取る ・求めた値の小数点以下を切り捨てる ・最後に1を足す で求まります。

関連するQ&A