• ベストアンサー

進数で桁数を求める

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

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

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

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

その他の回答 (1)

  • chie65535
  • ベストアンサー率43% (8523/19372)
回答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

  • 16進数n桁を10進数で表すときに必要な桁数

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

  • 14桁の16進数を10進数で表した時の桁数

    いつもお世話になってます。 情報処理技術者試験の問題で分からない部分があったので質問させて頂きます。 ***問題 14桁の16進数を10進数で表した時の桁数 但し、log10(2) = 0.301とする。 ***解答 log10(16^14) = 14 * log10(16) = 14 * log10(2^4) = 14 * 4 * log10(2) = 14 * 4 * 0.301 = 16.856 繰り上げて答えは17桁になります。 質問ですが何故、14桁の16進数の最大値の桁数が16^14と同じになるのかが分かりません。 14桁の16進数の最大値は16^14 - 1になるので、 桁数も16^14 - 1と同じになるのではないのでしょうか。 基本的な事を見逃している気がします。 解答宜しくお願い致します。

  • 桁数の計算

    はじめまして。 掛け算・割り算の桁数だけ計算する時、自分は以下のように計算しています。 しかし、自分だけ独自の計算方法をしているように思えて気になっていました。 皆さんはどのようにしておられるのか教えてください。 よろしくお願い致します。 掛け算の場合 100(3ケタ)× 100(3ケタ) = 10000(5ケタ) → 3ケタ + 3ケタ - 1ケタ = 5ケタ 割り算の場合 10000(5ケタ) ÷ 100(3ケタ) = 100(3ケタ) → 5ケタ - 3ケタ + 1ケタ = 3ケタ 10000(5ケタ) ÷ 10000(5ケタ) = 1(1ケタ) → 5ケタ - 5ケタ + 1ケタ = 1ケタ 10000(5ケタ) ÷ 1000000(7ケタ) = 0.01(3ケタ) → 7ケタ - 5ケタ + 1ケタ = 3ケタ *ケタの大きいほうから小さいほうを引くように変換(計算結果がプラスになるように変換)

  • 階乗の桁数

    200!の桁数を求めよ。という問題で、 10進法で何桁か?は375桁とわかったのですが、 2進法、4進法、8進法、16進法で何桁なのかわかりません。 2進数の桁数の計算方法は Nlog10=xlog2 (底は10) で、求められると思うのですが、 約1245.723と出てきてしまい、 1245桁なのか1246桁なのかわかりません。 こういう場合は四捨五入するのですか?切捨てにするのですか? 教えてください。 お願いします。

  • 2進数の足し算について

    CPUは引き算を行うことができず、2の補数を用いて引き算を足し算として考えれると知りました。 そこで8bitの最上位桁を符号とした7bitの引き算-24+(-8)を計算してみたのですが 24(10進数)→0011000(2進数)→1101000(2の補数) 8(10進数)→0001000(2進数)→1111000(2の補数) 符号 7654321←bit  1 1101000 +1 1111000  X 1100000 となり、1100000の2の補数をとると 0100000(2進)→32(10進数)で答えを求められました。 そこでお聞きしたいのですが、値を足したとき(↑の例だと1100000)が求められたときにどういった条件だと1100000の2の補数をとる必要があるのでしょうか? ↑の例だとXがどの条件のときでしょうか? 質問が長くなってしまいましたがよろしくお願いします。

  • floatの有効桁数

    floatの有効桁数を調べていると(インターネット)、6桁や7桁というように、サイトによって異なっていました。 私はc言語でfloatが32bitの時を知りたいのですが、どのサイトが本当なのかなどが分かりませんでした。 なぜサイトによってさまざまな有効桁数を書いているのか? 結局floatの有効桁数は何桁なのか? が知りたいです。 よろしくお願いします。

  • 有効桁数について

    ある数値を5回測定したとします A 5.039 B 5.075 C 5.092 D 5.064 E 5.058 有効桁数はすべて4桁ですよね? 次にA~Eの平均を取ると (A+B+C+D+E)/5=5.0656 と関数電卓で結果がでますが、4桁に丸めて5.066とすれば有効桁数の扱い方としては問題ないですか? そしてA~Eの平均の2乗をするときは、上記の平均を有効桁数4桁に丸めた5.066を2乗して (5.066)^2=25.664356 となり、そして5.066の有効桁数4桁に合わして25.66とすればいいのでしょうか? それとも平均の値を4桁に丸める前の電卓で出た値のまま2乗した後、最終的に4桁に丸めるのがいいのでしょうか?この数値だとどちらでやっても4桁にした値は変わりませんが・・・ 有効桁数の扱い方で問題があったら教えてください、また平均の2乗を求めるときはどちらが正しいのでしょうか? (平均の値の2乗は平均×平均なのだから平均の値を4桁にせず5桁として計算すると平均の2乗は有効桁数5桁と考えるので、やはり正しく平均の値を測定値の有効桁数4桁に丸めて出した平均の値を2乗する方が正しいですかね・・・)    また、上記の平均の計算をしたときのよな、「5」などの数字の有効桁数は何桁ですか?1桁なんでしょうか?もし1桁なら割り算をしているので有効桁数はいちばん桁数の少ないものに合わせるので有効桁数1となると平均の値が「5」となりおかしいとおもうんですが・・・ 上記の平均を取ったときの「5」や、測定回数の数値や、測定していない数で100で割れと書いてあったりしたときは、それらの数字の桁数も考えなければならないんでしょうか? 読みづらい文章かもしれませんが、ご回答待っています。

  • 2進数1011.011を10進数に変えた場合答えは

    2進数1011.011を10進数に変えた場合答えは11.375になります それは2進数の桁の重みを使って計算しました その逆に、 10進数11.375を2進数に変えた場合、1011.011になります。 それも2進数の桁の重みを使って導き出します なぜ、どちらの場合も2進数の桁の重みを使うんでしょうか? 2から10 10から2 10から2にするときは、10進数の桁の重みを使わないのはなぜなんでしょうか?

  • bit数について教えてください。

    1.0~99999999までの数を表記するために必要なbit数は? 2.8桁を持つ正と負の両方の値を格納するために必要なbit数は?

  • 2進数の引き算

    2進数の引き算の方法がいまいちわかりません。 1 0 1 1 0 1 0 0 ------- 0 1 1 1 上のような式なら下から三桁目で0から1は引けないから上の桁から1を借りてきて10 - 1という計算をするのですよね?? 1 0 1 0 0 0 1 0 0 1 ----------- 上のような場合、1桁めで上の位から1を借りようと思っても、2桁目が0なので、どうしたらよいのか分かりません。10進数なら9になるのは分かるんですけど、二進数の場合どういう計算になるのでしょうか?

専門家に質問してみよう