CodeArc FE 学習アドベンチャー

今回予告

逆読みレーダー、起動

開いたはずの信号が震える。次は0と1を、人間が読める数へ戻す。

さっきは13を2進数にしたよね。今度は逆?

青い復旧光

基礎理論 / 解法

第2話 逆読みレーダー

番ゲートを開いた直後、通信塔の上部から細い光が空へ伸びた。青く復旧したはずの信号は、街の上空で一度だけ震え、次の表示へと変わった。 ナナは眉を寄せる。 「さっきは13を2進数にしたよね。今度は逆?」 Bitが頷いた。 「はい。回路が受け取った0と1の信号を、人間が読める数へ戻します。通信塔は、変換…

目標

この話でできるようになること

12進数を10進数へ戻せる

2逆変換で検算できる

32進数の各桁に重みを付けられる

41の桁だけ足して10進数へ戻せる

50の桁を足さない理由を説明できる

6---

場面ログ 会話で進んだ場面を確認する
場面 1

番ゲートを開いた直後、通信塔の上部から細い光が空へ伸びた。青く復旧したはずの信号は…

13番ゲートを開いた直後、通信塔の上部から細い光が空へ伸びた。青く復旧したはずの信号は、街の上空で一度だけ震え、次の表示へと変わった。

入力信号:11010₂
要求:10進数へ復元せよ

ナナは眉を寄せる。

「さっきは13を2進数にしたよね。今度は逆?」

Bitが頷いた。

「はい。回路が受け取った0と1の信号を、人間が読める数へ戻します。通信塔は、変換だけでなく検算も要求しています」

塔の側面から巨大なレーダー盤がせり上がった。

16   8   4   2   1
 1   1   0   1   0

その下には、古い誤答ログが浮かんだ。

誤答ログ01:11010₂ = 1 + 1 + 0 + 1 + 0 = 3
誤答ログ02:左から1,2,4,8,16を付けて 11
誤答ログ03:0の桁まで足して 31

ナナは思わず声を出した。

「全部、なんか分かる気がする……」

アイリは静かに言った。

「正解だけを見れば簡単に見える。でも、どこで間違えるかを見ないと、次も同じ場所で止まる」

黒い影がレーダー盤の中央を走った。

> 戻す必要はない。選択肢の中から、それっぽい数字を選べ。

Bitの通信ランプが一瞬暗くなる。

「Nullのノイズです。正解率だけを上げようとする声です」

ナナは第1話で覚えたことを思い出した。

重みは右から 1,2,4,8,16...

右から重みを書く。

16  8  4  2  1
 1  1  0  1  0

「1の桁だけ足せばいいんだよね」

ナナは声に出して足した。

16 + 8 + 2 = 26

答えは26。レーダー盤が青く光ったが、まだ停止しない。

この答えを検算せよ。
26₁₀ を2進数へ戻せ。

ナナは少し笑った。

「戻して同じになればいいんだ」

26 = 16 + 8 + 2
16  8  4  2  1
 1  1  0  1  0

元の信号 11010₂ と同じ。 レーダー盤の古い誤答ログが一つずつ白い光に変わって消えた。

だが、消える直前、最後のログだけが言葉を残した。

「解説を読めば分かる。でも自分では戻せなかった」

ナナは黙ってノートに書いた。

2進数は、1の桁だけ足す。
変換したら、必ず戻す。

本文さっきは13を2進数にしたよね。今度は逆?

本文はい。回路が受け取った0と1の信号を、人間が読める数へ戻します。通信塔は、変換だけでなく検算も要求しています

本文全部、なんか分かる気がする……

Narrator

次の表示は11010

青く復旧した通信塔の上で、信号が一度だけ震える。表示は 11010₂。今度は0と1の列を、人間が読める10進数へ戻す任務だった。

Narrator

誤答ログがレーダー盤に浮かぶ

レーダー盤の下に、1+1+0+1+0 と足したログ、左から重みを付けたログ、0の桁まで足したログが並ぶ。どれも初学者がつまずきやすい読み方だった。

Narrator

26から11010へ戻す

ナナは1の立った桁だけを足す。16 + 8 + 2 = 26。さらに26を 16、8、2 に分け直すと、元の 11010₂ に戻る。

解法の要点

本当に必要な手順、例題、誤答の直し方だけ確認する

導入

学習導入

この話で学ぶのは、2進数を10進数へ戻す方法です。 試験では「2進数11010を10進数で表すといくつか」のように直接問われます。また、10進数から2進数へ変換した後の検算にも必要です。

解法

解き方の手順

2進数を10進数へ戻すときは、右から重みを書きます。

16  8  4  2  1
 1  1  0  1  0

1の桁だけ足す。

16 + 8 + 2 = 26

0の桁は、その重みを使わないという意味です。 検算では、26をもう一度2進数へ戻し、元の 11010₂ と一致するか確認します。

手順

解法手順

  • 2進数の桁数を確認する
  • 右から 1,2,4,8,16... の重みを書く
  • bit列を重みの下にそろえる
  • 1が立っている桁だけ重みを足す
  • 0の桁は足さない
  • 合計を10進数の答えにする
例題

例題

問題

2進数 11010₂ を10進数で表したものはどれか。

選択肢
24
25
26
27

解説

16  8  4  2  1
 1  1  0  1  0
16 + 8 + 2 = 26

答え

検算

26 = 16 + 8 + 2 = 11010₂

なぜ他の選択肢が違うか

選択肢判定理由
ア 24誤り2の桁を足していない
イ 25誤り1の桁を誤って足し、2の桁が不足
ウ 26正しい16+8+2
エ 27誤り1の桁を余分に足している

答え: ウ

修復

誤答パターン

  • bit列をそのまま足す
  • 1+1+0+1+0 ではなく、各桁の重みを足す。
  • 左から重みを付ける
  • 重みは右から付ける。
  • 0の桁も足す
  • 0はその重みを使わない。
Exam

過去問接続

科目Aで直接効きます。 候補が24, 25, 26, 27のように近い場合、誤答選択肢がどの桁のミスか説明できると安定して得点できます。

図で確認

試験中に自分で再現できる形へ落とし込む

binary

逆読みレーダー

使う重みをONにして、ONの合計が目標値になるか確認します。

16 ON 8 ON 4 OFF 2 ON 1 OFF
例題の答え

手を動かす

読み終える前に、短い演習で理解を固定する

演習 1

重みはどちら側から書くか。

  1. 問題文の条件を写す
  2. 図・表・重み・真理値のどれで読むか決める
  3. 答えを戻して検算する
演習 2

の桁は足すか。

  1. 問題文の条件を写す
  2. 図・表・重み・真理値のどれで読むか決める
  3. 答えを戻して検算する
演習 3

`10₂` はいくつか。

  1. 問題文の条件を写す
  2. 図・表・重み・真理値のどれで読むか決める
  3. 答えを戻して検算する
演習 4

`100₂` はいくつか。

  1. 問題文の条件を写す
  2. 図・表・重み・真理値のどれで読むか決める
  3. 答えを戻して検算する

旅のメモ

次に残すメモ

12進数の各桁に重みを付けられる

21の桁だけ足して10進数へ戻せる

30の桁を足さない理由を説明できる

科目Aで直接効きます。 候補が24, 25, 26, 27のように近い場合、誤答選択肢がどの桁のミスか説明できると安定して得点できます。

確認

この話で持ち帰ること

12進数の各桁に重みを付けられる

21の桁だけ足して10進数へ戻せる

30の桁を足さない理由を説明できる

4逆変換で検算できる