戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2018年 春期 75


問題文

A~Zの26種類の文字を表現する文字コードに最小限必要なビット数は幾つか。

選択肢

4
5(正解)
6
7

🔒 解説は解答すると表示されます

文字を表現するのに必要な最小ビット数【ITパスポート 解説】

正解の理由

26種類の文字を区別するには、各文字に固有の2進の組み合わせが必要です。1ビットは2種類の状態(0か1)を表します。ビットを増やすごとに使える組み合わせ数は倍になります。 は26に足りませんが、 は26以上です。したがって、最小限必要なビット数は5ビットです。問題の選択肢では がこの「5」を示しています。

解法ステップ

  1. 「ビット数 で表せる組み合わせ数」は であることを確認します。
    • 理由:各ビットが0か1の2通りだから、 個で 通り。
  2. 必要な組み合わせ数(この場合は26)を満たす最小の を探します。
    • 試しに小さい を計算:
      • (不足)
      • (これで足りる)
  3. したがって最小の は5。これが答えです。数学的には と表せます( は切り上げ)。

選択肢別の誤答解説

  • ア: 4
    • で、26種類を区別するには不十分です。4ビットでは足りません。
  • : 5
    • により26種類を表現できます。かつ「最小」の条件を満たします。よって正解です。
  • ウ: 6
    • と十分ですが、問題は「最小限必要なビット数」を問うています。6は過剰であり最小ではありません。
  • エ: 7
    • ともっと過剰です。歴史的にASCII(アスキー。英語の基本文字と記号を表す規格)は7ビットで表していましたが、本問の条件(26文字のみ)では不要です。

よくある誤解

  • 「26だからビットも26必要だ」と考える。
    • 誤りです。1ビットで2種類、2ビットで4種類…という倍々に増える性質を理解してください。
  • 「5ビットでは余りがあるからダメ」と思う。
    • 問題は「最小限必要なビット数」を問うています。余り(未使用の組み合わせ)があっても構いません。重要なのは「26を表せる最小のビット数」です。
  • 「バイト(8ビット)で考えなければ」と混同する。
    • 実務では1バイト = 8ビット単位で扱うことが多いですが、理論的な最小ビット数はビット単位で計算します。

補足コラム

  • 大文字と小文字の両方(A~Z と a~z)を区別するなら合計52種類必要です。 では足りず、 で足ります。したがってその場合の最小ビット数は6です。
  • 数字や記号も含めるとさらに多くの組み合わせが必要です。文字集合の総数をまず数えることが基本です。
  • 計算機的には対数を使って簡潔に表せます: (Nは必要な種類数)。
    • 例: のとき を切り上げて
短いPython例(最小ビット数を求めるコード):
def min_bits(n):
    bits = 0
    while 2**bits < n:
        bits += 1
    return bits

print(min_bits(26))  # 出力: 5

FAQ

Q1: なぜ「2のべき乗」を使うのですか?
A1: 各ビットは2通りの状態(0/1)を持ち、独立に組み合わせられるため、可能な組み合わせ数は になります。
Q2: 「最小限必要」とはどういう意味ですか?
A2: 必要な種類数を満たす「最も小さい」ビット数を指します。余分に大きいビット数も可能ですが、問題の意図は最小を求めることです。
Q3: 実際の文字コードはどうなっているのですか?
A3: 実務ではASCII(7ビット)や拡張ASCII(8ビット)、さらにUnicode(複数バイトで多数の文字を表現)などがあります。設計上は用途に応じて必要なビット数を決めます。

関連キーワード: ビット、文字コード、2進法、組合せ、ログ2、ASCII
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について