DE-C02情報Ⅰ 対策問題

コミュニケーションと情報デザインデジタル化計算特訓

ASCIIコード(Aは10進で65)のもとで、2進法「01000011」が表す文字はどれか。

解答・解説を見る

正解: 1

正答

1

この問題のポイント

2進→10進→文字の3段変換 を問う問題です。ビット列を数値に直し、コード表で文字に対応させる連鎖を身につけます。

解説

コンピュータの中で文字は、文字コードという番号の2進表現として保存されています。したがって「ビット列→10進の数値→コード表で文字」という3段の変換ができれば、どんなビット列も文字として読めます。

手順どおり計算します。

  1. 2進数の各桁の重みは右から 1、2、4、8、16、32、64、128。
  2. 01000011 で「1」が立つのは、重み64・重み2・重み1の3か所。
  3. 64 + 2 + 1 = 67(10進)。
  4. A=65、B=66、C=67 なので、答えは「C」。

関連知識として、小文字は「大文字+32」の関係にあります(c = 67+32 = 99 = 01100011)。2進で見ると、32の位のビットが0か1かの違いだけで大文字と小文字が切り替わる、という設計になっています。大文字・小文字の変換が問われたら「±32」を思い出しましょう。

共通テストでは、2進・16進・10進の変換とコード表の読み取りが組み合わさって出題されます。重みの表(128、64、32、16、8、4、2、1)を素早く書き出し、1の立つ桁だけ足す、という手順を体に覚えさせてください。

選択肢の確認

1.○ 01000011 = 64+2+1 = 67 = C。
2.× Bは66(01000010)。右端の1を読み落とすとこの値になる。
3.× Gは71(01000111)。ビットの読み間違い。
4.× 小文字cは99(01100011)。32の位のビットが立っている場合。

ここだけは覚えよう

ビット列→10進→コード表の3段変換。C=67 — 小文字=大文字+32(32の位のビット1つの違い)。

関連問題

DE-C01DE-C03