1

この質問はおそらく典型的なスタックオーバーフローではありませんが、私のこの小さな質問をどこで尋ねればよいかわかりません。

問題:

10 進数 16 の 2 進数表現のビット数を求めますか?

ここで、式 $2^n = 16 \Rightarrow n = 4 $ を使用してこれを解決しようとしましたが、モジュールで提案されている正解は 5 です。


いくつかの答えを読んだ後、(そして、正しい答えを受け入れる前にさらに10個のミントがあります)これはおそらく説明であり、数式と一致すると思います。

16 を表すには、17 個のシンボル (0,16) を表す必要があるため、$2^n = 17 \Rightarrow n = 4.08746 $ となりますが、n は整数である必要があるため、$n = 5$ となります。

4

4 に答える 4

3

バイナリがどのように機能するかを考えてみましょう:

Bit 1: Add 1
Bit 2: Add 2
Bit 3: Add 4
Bit 4: Add 8
Bit 5: Add 16

したがって、16 は次のようになります: 10000

于 2010-12-16T11:31:41.613 に答える
2

4 ビットで、 0 から 15 までの数値を表すことができます。

つまり、16 を表すには 5 ビットが必要です。

于 2010-12-16T11:33:23.793 に答える
1
Decimal - 16 8 4 2 1
Binary -   1 0 0 0 0

したがって、10 進数の 31 までは 5 ビットしか必要ありません。

于 2010-12-16T11:33:53.523 に答える
0

これは典型的なフェンスポスト エラーです。

ご存じのように、コンピューターは 0 から数え始めるのが好きです。

したがって、16 を表すには、ビット 0、1、2、3、および 4 (= floor(log2(16))) が必要です。

しかし、実際にビット 0 ~ 4 を含めるには、5 ビットが必要です。

于 2012-04-30T21:15:41.667 に答える