| 2008/02/24(Sun) 11:22:05 編集(投稿者)
■No31723に返信(くたくたさんの記事) > ある学校の生徒数は1000人で、25クラスのいずれかに在籍している。すべての学生の在籍クラスの情報を記憶するには何バイトの記憶素子が必要か。ただし、対数表を用いてもよい。 > > 解答を見ると素子数をnバイトとすると2^8n=25^1000 となるとあるのですが > その意味が分かりません。
2^(8n)=25^1000 でよいでしょうか。
1人25通りの選択で1000人分=25^1000 通りで 1バイトには 2^8 通りの表現がありますから、(2^8)^n=25^1000 という計算をさせたいんでしょうが…
情報「量」としてはいいかもしれませんが、現実にそぐわない???な問題です。
通常は、1〜25 を表すのに 5ビット(0〜31 を表せる)必要なので、5×1000ビットです。 これを1バイト換算(8ビット=1バイト)すると、5000/8=625バイトになります。 いっそのこと 1人1バイト使ってしまえば、1000バイトでもOK。 あるいは 1ビット=1クラスと考えれば、1人に25ビット必要なので、25×1000ビットです。 すなわち 25000/8=3125バイトになります。 (この方法は1人が複数クラスに所属する場合に有効です)
|