CO-S21情報Ⅰ 対策問題

コンピュータとプログラミング思考・計算

2進法の「110101」を10進法で表すといくつか。

解答・解説を見る

正解: 1

正答

1

この問題のポイント

2進→10進変換(6桁) を問う問題です。桁数が増えても「重みを拾って足すだけ」で解けます。

解説

2進法の桁の重みは、右から 1, 2, 4, 8, 16, 32, … と2倍ずつ増えます。何桁になっても変換の手順は同じで、「1が立っている桁の重みを全部足す」だけです。まず桁の下に重みを書き込むと、見落としがなくなります。

110101 を左の桁から順に確かめます。

  1. 左から1桁目(重み32): 1 → 32を足す
  2. 左から2桁目(重み16): 1 → 16を足す
  3. 左から3桁目(重み8): 0 → 足さない
  4. 左から4桁目(重み4): 1 → 4を足す
  5. 左から5桁目(重み2): 0 → 足さない
  6. 左から6桁目(重み1): 1 → 1を足す
  7. 合計: 32 + 16 + 4 + 1 = 53

6桁の重み「32・16・8・4・2・1」は、4桁の「8・4・2・1」の延長です。2のべき乗(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024)は、2進数だけでなくデータ量の計算や二分探索の回数でも使うので、すらすら言えるようにしておきましょう。

共通テストでは、8ビット(最大255)程度までの変換が文字コードや色の表現の問題に組み込まれて出ます。「重みを書き出す→1の桁だけ拾う→足す」の3手順を機械的にこなせれば失点しません。

選択肢の確認

1.○ 32+16+4+1 = 53。
2.× 51を2進法にすると110011。重み4と2の桁の読み違い。
3.× 45を2進法にすると101101。重み16と8の桁の読み違い。
4.× 61を2進法にすると111101。重み8の桁を1と誤読した値。

ここだけは覚えよう

6桁の重みは「32・16・8・4・2・1」 — 1が立つ桁の重みを拾って足すだけ。2のべき乗は暗唱。

関連問題

CO-S20CO-S22