基本情報技術者 2012年 秋期 午前(科目A) 問04
問題文
英字の大文字(A〜Z)と数字(0〜9)を同一のビット数で一意にコード化するには、少なくとも何ビットが必要か。
選択肢
ア:5
イ:6(正解)
ウ:7
エ:8
英字の大文字(A〜Z)と数字(0〜9)を同一のビット数で一意にコード化するには、少なくとも何ビットが必要か。【午前2 解説】
要点まとめ
- 結論:26文字+10数字で計36種類を区別するには最小でイの6ビットが必要です。
- 根拠:は36未満で不足、は36以上で足りるため、最小整数は6です。
- 差がつくポイント: とする情報量的な考え方を理解しておくと応用問題で正答が速くなります。
正解の理由
英字大文字26種と数字10種を合わせると区別すべき記号数は36です。nビットで表現できる種類数はなので、最小のnはを満たす必要があります。では不足し、で十分にカバーできるため、必要最小ビット数は6ビットです。したがって正解はイです。
よくある誤解
- 「5ビットで足りる」と考える誤解:32種類までしか表現できないため36種を表現できず誤りです。
- 「ASCIIが7/8ビットだからそれを使うべき」と短絡する誤解:問われているのは理論上の最小ビット数であり、実装上のバイト単位(7/8ビット)とは目的が異なります。
- 「小文字を含めても同じ」と思う誤解:小文字26種を加えると合計62種となりますが、これはでまだ収まるため結果は同じ6ビットになります(ただし文字種の扱いに注意)。
解法ステップ
- 表現すべき全体の種類数を数える:26(A〜Z)+10(0〜9)=36種類。
- nビットで表現可能な種類数を考える:。
- 最小のnを満たす条件を求める:。
- 試しに当てはめる:、 → よって n=6。
数学的には と表せます。
選択肢別の誤答解説
- ア: 5 — で36を表現できないため不正解。
- イ: イ — により36をカバーし、最小のビット数なので正解。
- ウ: 7 — で確かに表現可能だが「最小で何ビットか」を問われているため過剰で不正解。
- エ: 8 — は過剰な表現長であり、最小値ではないため不正解。
補足コラム
- 情報量の観点では1シンボルあたり必要なビット数は ビットで、これを切り上げた6ビットが最小整数解です。
- 実務では6ビット単位で扱うとバイト境界(8ビット)に収めるためパディングやビット詰めが必要になり、効率と扱いやすさのトレードオフがあります。
- Base36(0–9、A–Z)などの符号化では理論上6ビットで扱えますが、転送や保存の都合で8ビット単位(1バイト)で丸められることが多い点に注意してください。
FAQ
Q: なぜ5ビットで表せないのですか?
A: 5ビットで表現できる異なる値は個だけであり、36個のシンボルを区別できないためです。
A: 5ビットで表現できる異なる値は個だけであり、36個のシンボルを区別できないためです。
Q: 小文字を加えても6ビットで足りますか?
A: 大文字26+小文字26+数字10で合計62種になり、でカバーできるため6ビットで足ります。ただし記号や拡張文字を含めると必要ビット数は増えます。
A: 大文字26+小文字26+数字10で合計62種になり、でカバーできるため6ビットで足ります。ただし記号や拡張文字を含めると必要ビット数は増えます。
Q: 実際の文字コード(ASCII/UTF-8)とは関係ありますか?
A: 質問は理論的な最小ビット数を問うもので、ASCII(7/8ビット)やUTF-8(可変長)は別の実装上の規格です。用途に応じて規格や互換性を優先する場合は実装規格に従います。
A: 質問は理論的な最小ビット数を問うもので、ASCII(7/8ビット)やUTF-8(可変長)は別の実装上の規格です。用途に応じて規格や互換性を優先する場合は実装規格に従います。
関連キーワード: ビット数、符号化、2進数、情報量、ログ2、base36、ASCII、BCD、ビット詰め、最小ビット数

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

