問76
頻出度★★☆
2バイトで1文字を表すとき, 何種類の文字まで表せるか。
この問題の解説と、これまでの解答の記録です。
2バイトで1文字を表すとき, 何種類の文字まで表せるか。
32,000 は 32K を 1K = 1,000 とみなして 32 × 1,000 と計算した値で、2 のべき乗になっていません。そもそも 16ビットの組合せ数は 2 の 16 乗であり、32,000 になるビット数は存在しません。
32,768 は 2 の 15 乗で、15ビット分の組合せ数です。2バイト = 16ビットなのに 1ビット少なく数えた値であり、正しい 65,536 のちょうど半分になっています。
64,000 は 64K を 1K = 1,000 と誤解して 64 × 1,000 と計算した値です。情報量では 1K = 1,024 なので 64K = 64 × 1,024 = 65,536 であり、64,000 は 2 のべき乗ですらありません。
正解 1バイトは 8ビットなので、2バイトは 8 × 2 = 16ビットです。ビットは 1 個につき 0 と 1 の 2 通りの状態を取るため、16ビット全体で表せるビットパターンの総数は 2 の 16 乗 = 65,536 通りになります。文字コードでは 1 つのビットパターンに 1 文字を対応づけるので、2バイトで表せる文字は最大 65,536 種類です。よって エ が正解です。なお 2 の 10 乗 = 1,024、2 の 16 乗 = 2 の 10 乗 × 2 の 6 乗 = 1,024 × 64 = 65,536 と分解して暗算できます。