【過去問解説】4種類のボールと6個の容器。状態を表すビット数の求め方

実際に出題された問題

基本情報技術者試験(FE)に向けて、医療情報技師試験の過去問を「一記事一問」で深掘りしていきます。今回は、組み合わせとビット数の関係を問う問題です。

【第24回 情報処理技術系 問6】

4種類のボールがあり、それぞれ十分な数が用意されている。6個の容器があり、それぞれにいずれか1種類のボールを1つずつ入れる。このとき、各容器に入っているボールの種類を表現するのに最低何ビット必要か

  1. 10
  2. 12
  3. 16
  4. 18
  5. 24

正解は「2) 12」です

この問題は、コンピューターがデータをどうやって区別しているか、という基礎的な考え方を知るのにとても良い問題です。

専門用語を使わずに、順を追って「色」と「スイッチ」で例えて解説します。

全体の流れ

この問題は、2つのステップで考えると簡単になります。

  1. 「1個の容器」のボールの色を区別するのに、何個のスイッチが必要か?
  2. それを「6個の容器」に広げると、合計で何個のスイッチが必要か?

ステップ1:1個の容器について考える

まず、容器が1個だけあると想像してください。ここには4種類のボール(例えば、赤・青・黄・緑)のどれか1つが入ります。

コンピューターは、この「4つの色」を区別するために、ONとOFFしか切り替えられない「スイッチ」を使います。(このスイッチ1個が「1ビット」です)

もし、スイッチが1個(1ビット)しかなかったら?

  • スイッチON ➔ 赤
  • スイッチOFF ➔ 青 これだと、2色しか区別できません。黄と緑を表せないので足りません。

では、スイッチを2個(2ビット)に増やしてみましょう。 2つのスイッチの組み合わせは、以下の4通り作れます。

  • スイッチ1【OFF】(0)・スイッチ2【OFF】(0) ➔ 赤(00)
  • スイッチ1【OFF】(0)・スイッチ2【ON 】(1) ➔ 青(01)
  • スイッチ1【ON 】(1)・スイッチ2【OFF】(0) ➔ 黄(10)
  • スイッチ1【ON 】(1)・スイッチ2【ON 】(1) ➔ 緑(11)

これで、4色すべてに別々のスイッチの組み合わせ(=名前)を付けることができました。

つまり、1個の容器の情報を表すには、「2ビット(スイッチ2個)」が必要ということがわかります。

ステップ2:6個の容器について考える

さて、問題ではこの容器が6個あります。

それぞれの容器にボールが1つずつ入っているので、全ての容器の状態(どの色が入っているか)を記録しなければなりません。

先ほど計算した通り、1個の容器につき「2ビット」のスイッチが必要です。 それが6個並んでいるので、単純な掛け算になります。

2ビット×6個 = 12ビット

答え

最低 12ビット 必要です。

まとめ:図で描くと、ビット計算は怖くない!

いかがだったでしょうか? 試験本番では少し焦ってしまいましたが、「ボールをスイッチに置き換えて、容器の数だけ掛け算する」というイメージを持てば、どんなパターンの問題が出ても確実に解けそうです。

「ビットの計算、どうしても苦手…」という方は、ぜひ今回の箱とスイッチのイラストを頭の片隅に置いてみてくださいね。

この「一記事一問」シリーズ、まだまだ続けていくので次回もぜひ読みに来てください!

コメント

タイトルとURLをコピーしました