共通テスト(情報) 過去問
令和5年度(2023年度)追・再試験
問15 (<旧課程>情報関係基礎(第1問) 問15)
問題文
表1に示す文字コード表について考える。この文字コード表では、英数字や記号に対して7ビットで構成される文字コードを割り当てている。行の見出しは文字コードの上位3ビットを、列の見出しは文字コードの下位4ビットを16進表記で示している。例えば文字「k」の場合、上位3ビットは2、下位4ビットはAであることから、文字「k」に対する文字コードは16進表記で2Aとなり、2進表記では0101010となる。これをふまえると、2進表記の文字コード0000010で表される文字は( セ )であり、文字「$」に対する2進表記の文字コードは( ソ )となる。
この文字コード表では、四則演算を表す「+」、「−」、「✕」、「÷」の位置関係から、2進表記で表現した( タ )ことがわかっていれば、これらの演算子のいずれかであることがわかる。また、文字「B」と「b」や文字「Y」と「y」など、同じアルファベットの大文字と小文字の文字コードには、( チ )という関係がある。
( チ )にあてはまるものを1つ選べ。
付箋
付箋は自分だけが見れます(非公開です)。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
共通テスト(情報)試験 令和5年度(2023年度)追・再試験 問15(<旧課程>情報関係基礎(第1問) 問15) (訂正依頼・報告はこちら)
表1に示す文字コード表について考える。この文字コード表では、英数字や記号に対して7ビットで構成される文字コードを割り当てている。行の見出しは文字コードの上位3ビットを、列の見出しは文字コードの下位4ビットを16進表記で示している。例えば文字「k」の場合、上位3ビットは2、下位4ビットはAであることから、文字「k」に対する文字コードは16進表記で2Aとなり、2進表記では0101010となる。これをふまえると、2進表記の文字コード0000010で表される文字は( セ )であり、文字「$」に対する2進表記の文字コードは( ソ )となる。
この文字コード表では、四則演算を表す「+」、「−」、「✕」、「÷」の位置関係から、2進表記で表現した( タ )ことがわかっていれば、これらの演算子のいずれかであることがわかる。また、文字「B」と「b」や文字「Y」と「y」など、同じアルファベットの大文字と小文字の文字コードには、( チ )という関係がある。
( チ )にあてはまるものを1つ選べ。
- 小文字のコードの上位3ビット目から1を引くと大文字、大文字のコードの上位3ビット目に1を加えると小文字になる
- 大文字のコードの上位3ビット目から1を引くと小文字、小文字のコードの上位3ビット目に1を加えると大文字になる
- 上位2ビット目を0にすると小文字、1にすると大文字になる
- 上位2ビット目を1にすると小文字、0にすると大文字になる
正解!素晴らしいです
残念...
画像拡大
この過去問の解説 (3件)
01
「B」と「b」や文字「Y」と「y」など、同じアルファベットの大文字と小文字の文字コードについて、表1からわかることを整理してみます。
「B」、「b」は、下位4ビットが、「1」、
「Y」、「y」は、下位4ビットが、「8」であることがわかります。
また、上位3ビットについては、大文字のビット + 2 (二進表記で、010)をした位置に、小文字がくるようになっています。
Bは、上位3が「0」、下位4が「1」なので、二進表記にすると、「0000001」
Yは、上位3が「1」、下位4が「8」なので、二進表記すると、「0011000」
これらを前提に各選択肢をみてみましょう。
不適切です。
小文字コードは二進表記にまだしていないので後半でまずみてみます。
例えばBの場合、
大文字のコード「0000001」の上位3ビット目に1を加えると、「0010001」となり、小文字のコードとは異なるため適切ではありません。
不適切です。
例えばBの場合、「0000001」の上位3ビット目から1を引くと、マイナスの値になってしまうため適切ではありません。
不適切です。
例えばBの場合、「0000001」の上位2ビット目はもともと0なので、小文字になりません。
適切です。
前提として、今回問われている、B、Yは、両者とも、上位2ビット目はもともと0です。
そして、大文字にたいして、上位2ビット目を1にするというのは、010を足すという行為になります。
冒頭で述べた記述と一致しているため、これが適切な選択肢となります。
B:「0000001」 → 「0100001」:b
Y:「0011000」 → 「0111000」:y
参考になった数0
この解説の修正を提案する
02
実際に文字「B」と「b」や文字「Y」と「y」で確認してみましょう。
「B」の上位3ビット
16進表記で0
→2進表記で000
「b」の上位3ビット
16進表記で2
→2進表記で010
((0×2の2乗)+(1×2の1乗)+(0×2の0乗)=0+2+0=2)
「Y」の上位3ビット
16進表記で1
→2進表記で001
「y」の上位3ビット
16進表記で3
→2進表記で011
((0×2の2乗)+(1×2の1乗)+(1×2の0乗)=0+2+1=3)
✕
例えば、「b」のコード010の上位3ビット目から1を引くと001(「R」)、
「B」のコード000の上位3ビット目に1を加えると001(「R」)になります。
✕
例えば、「Y」のコード001の上位3ビット目から1を引くと000(「I」)、
「y」のコード011の上位3ビット目に1を加えると100(「8」)になります。
✕
例えば、「B」のコード000の上位2ビット目は0ですが大文字、
「b」のコード010の上位2ビット目は1ですが小文字です。
○
例えば、「Y」のコード001の上位2ビット目を1にすると011(「y」)、
0にすると001(「Y」)になります。
参考になった数0
この解説の修正を提案する
03
正解は「上位2ビット目を1にすると小文字、0にすると大文字になる」です。
「B」、「b」、「Y」、「y」の文字コードは以下の通りです。
同じアルファベットの大文字と小文字の文字コードは、上位2ビット目のみが異なっています。
よって、「上位2ビット目を1にすると小文字、0にすると大文字になる」が当てはまります。
これは、大文字と小文字で上位3ビットの差が2(16進表記)であることを意味しており、他のアルファベットも同様に当てはまります。
参考になった数0
この解説の修正を提案する
前の問題(問14)へ
令和5年度(2023年度)追・再試験 問題一覧
次の問題(問16)へ