CodeArc FE 学習アドベンチャー

基礎理論 / 解法

第3話 桁上がりの火花

逆読みレーダーが復旧した翌朝、ビットの街の北区画で小さな爆発が起きた。ナナが駆けつけると、そこには銀色の加算装置があった。装置の上には2本の入力ケーブルが伸びている。 中央には赤い警告が点滅していた。 Bitが震えながら説明する。 「この装置は、街のエネルギーを足し合わせる回路です。でも、1と1を…

会話欄の余白を押すと次のセリフへ進みます。

会話

1 / 11

Recap

ここまでの3行

  1. 第1話 13番ゲートの沈黙 FE模試に失敗したナナは本試験まで30日、M-07の13番信号を理由ごと救うため13番ゲートへ来た。ビットの街の入口には、古い通信塔が立っていた。塔の表面には小さなランプが無数に並び、普段な…
  2. 第2話 逆読みレーダー 番ゲートを開いた直後、通信塔の上部から細い光が空へ伸びた。青く復旧したはずの信号は、街の上空で一度だけ震え、次の表示へと変わった。 ナナは眉を寄せる。 「さっきは13を2進数にしたよね。今度…
  3. 2進数・10進数・16進数を相互変換できる、bit/byteの単位を使って容量計算できる、誤答選択肢を検算し、なぜ違うか説明できる、後続の補数・論理・アルゴリズムに進むための表作成習慣を得る

数字の図解

carry盤

目標
carry: 1 1 1 1 0 1 1 + 0 1 1 0 --------- 1 0 0 0 1 UIでは右端から1列ずつ計算させ、1+1 の列で火花を出す。固定長4bitモードでは左端…
読む順
carry盤 → 2進筆算パネル → carry: 1 1 1 → 1 0 1 1
根拠
答えは イ。検算まで同じ図で戻します。

学習テーマAnalysis Theme

この話で学ぶのは、2進数の加算です。 コンピュータは内部で2進数を使って計算するため、1+1=10₂ と繰り上がりを理解する必要があります。

基礎理論 / 解法

逆読みレーダーが復旧した翌朝、ビットの街の北区画で小さな爆発が起きた。ナナが駆けつけると、そこには銀色の加算装置があった。装置の上には2本の入力ケーブルが伸びている。 中央には赤い警告が点滅していた。 Bitが震えながら説明する。 「この装置は、街のエネルギーを足し合わせる回路です。でも、1と1を…

学習導入 解き方の手順 解法手順 基礎理論

解説動画Lesson Feed

Chapter 1 Episode 3 lesson explainer
Scene Board carry盤 逆読みレーダーが復旧した翌朝、ビットの街の北区画で小さな爆発が起きた。ナナが駆けつけると、そこには銀色の加算装置があった。装置の上には2本の入力ケーブルが伸びている。 中央には赤い警告が点滅…

Bit / 決意

この装置は、街のエネルギーを足し合わせる回路です。でも、1と1を足したときの桁上がりが処理できなくなっています

ナレーター

火花の加算装置

北区画の加算装置が火花を散らす。1と1を足すときの桁上がりが、回路を止めている。

ナナ / 困惑

1 + 1 って、2じゃないの?

ナナ / 決意

10進数なら2です。でも2進数では、使える数字が0と1だけです。だから、1+1は2ではなく、桁上がりして10になります

ナレーター

1 + 1 は 10₂

2進数で使える数字は0と1だけ。1+1は2を書かず、0を書いて左へ1を繰り上げる。

ナナ / 困惑

10進数に直して足すのも、ありじゃないの?

アイリ / 決意

検算としてはあり。でも、2進数の加算そのものを読めないと、CPUの演算、補数、オーバーフローで詰まる。ここは逃げちゃだめ

ナナ / 決意

答えだけじゃなくて、どこで繰り上がったかを残さないといけない

ナナ / 困惑

え、10001なのに、4bitだと0001になるの?

アイリ / 決意

それが、次に来る危険。桁あふれ、オーバーフロー。今はまだ入口だけ覚えておいて

ナレーター

次の危険

答えが桁数を超えると、4bitでは上の1が落ちる。オーバーフローの影が入口に残る。

目標

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

12進加算のcarryを処理できる

210進数で検算できる

32進数の加算ルールを説明できる

4carryを含む2進加算を筆算できる

510進数に戻して検算できる

6固定長bitでは桁あふれが問題になることを予告レベルで理解できる

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

逆読みレーダーが復旧した翌朝、ビットの街の北区画で小さな爆発が起きた。ナナが駆けつ…

逆読みレーダーが復旧した翌朝、ビットの街の北区画で小さな爆発が起きた。ナナが駆けつけると、そこには銀色の加算装置があった。装置の上には2本の入力ケーブルが伸びている。

入力A:1011₂
入力B:0110₂

中央には赤い警告が点滅していた。

加算結果:異常
桁上がり処理:停止

Bitが震えながら説明する。

「この装置は、街のエネルギーを足し合わせる回路です。でも、1と1を足したときの桁上がりが処理できなくなっています」

ナナは首をかしげた。

「1 + 1 って、2じゃないの?」

「10進数なら2です。でも2進数では、使える数字が0と1だけです。だから、1+1は2ではなく、桁上がりして10になります」

アイリが空中に基本ルールを書いた。

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

ナナは右端から計算を始める。

  1011
+ 0110
------

一番右は 1+0=1。 次の桁は 1+1=10。下に0を書き、左へ1を繰り上げる。装置の中で小さな火花が飛んだ。

次の桁は、

0 + 1 + 繰り上がり1 = 10

また0を書き、左へ1を繰り上げる。 最後の桁は、

1 + 0 + 繰り上がり1 = 10

0を書き、さらに左へ1を繰り上げる。結果は、

10001₂

その瞬間、加算装置は青く光った。 だが、すぐに黒いノイズが割り込んだ。

> 面倒だ。10進数に直して足せ。2進数の桁上がりなど覚える必要はない。

ナナは一瞬迷った。

「10進数に直して足すのも、ありじゃないの?」

アイリは頷いた。

「検算としてはあり。でも、2進数の加算そのものを読めないと、CPUの演算、補数、オーバーフローで詰まる。ここは逃げちゃだめ」

装置の横には過去ログが焼き付いていた。

誤答ログ:
1011 + 0110 = 1111
理由:1+1の桁上がりを無視

ナナは胸が少し痛んだ。この間違いは、自分もやりそうだった。

「答えだけじゃなくて、どこで繰り上がったかを残さないといけない」

Traceが小さな紙テープを吐き出した。

carry: 0 → 1 → 1 → 1

最後に、ナナは検算した。

1011₂ = 11
0110₂ = 6
11 + 6 = 17
10001₂ = 17

一致。加算装置の火花は、暴走ではなく規則正しい光に変わった。 ただし装置の奥には、もう一つ警告が残っていた。

固定長4bitでの結果:0001
上位桁あふれを検出

ナナは表情を曇らせた。

「え、10001なのに、4bitだと0001になるの?」

アイリは真剣な顔で答えた。

「それが、次に来る危険。桁あふれ、オーバーフロー。今はまだ入口だけ覚えておいて」

本文この装置は、街のエネルギーを足し合わせる回路です。でも、1と1を足したときの桁上がりが処理できなくなっています

本文1 + 1 って、2じゃないの?

本文10進数なら2です。でも2進数では、使える数字が0と1だけです。だから、1+1は2ではなく、桁上がりして10になります

Narrator

火花の加算装置

北区画の加算装置が火花を散らす。1と1を足すときの桁上がりが、回路を止めている。

Narrator

1 + 1 は 10₂

2進数で使える数字は0と1だけ。1+1は2を書かず、0を書いて左へ1を繰り上げる。

Narrator

次の危険

答えが桁数を超えると、4bitでは上の1が落ちる。オーバーフローの影が入口に残る。

解法の要点

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

導入

学習導入

この話で学ぶのは、2進数の加算です。 コンピュータは内部で2進数を使って計算するため、1+1=10₂ と繰り上がりを理解する必要があります。

解法

解き方の手順

2進数で使える数字は0と1だけです。したがって、1より大きい値が出ると桁上がりします。

計算結果意味
0 + 00何も立たない
0 + 111が立つ
1 + 011が立つ
1 + 1100を書き、1を繰り上げる
1 + 1 + 1111を書き、1を繰り上げる

例:

  1011
+ 0110
------
 10001

10進数で検算すると、

1011₂ = 11
0110₂ = 6
11 + 6 = 17
10001₂ = 17

一致します。

固定長bitが指定されると、入りきらない上位桁があふれる場合があります。これは第2章の補数・オーバーフローで本格的に扱う。

手順

解法手順

  • 2つの2進数の桁を右揃えで書く
  • 右端から計算する
  • 基本ルールを使う
  • 1+1 なら0を書いて1を左へ繰り上げる
  • 繰り上がりがある列ではそれも足す
  • 最後の繰り上がりが残ったら左端に書く
例題

例題

問題

  1011₂
+ 0110₂

正しい和はどれか。

選択肢
1111₂
10001₂
10000₂
10101₂

解説

右から計算する。 1+0=1, 1+1=10, 0+1+1=10, 1+0+1=10。 結果は 10001₂

答え

検算

1011₂ = 11
0110₂ = 6
11+6=17
10001₂=17

なぜ他の選択肢が違うか

選択肢10進数不正解理由
1111₂15carry不足
10001₂17正しい
10000₂16右端の1が不足
10101₂21繰り上がり位置が誤り

答え: イ

修復

誤答パターン

  • 1+1=2 と書こうとする
  • 2進数には2という1桁の数字はない。
  • 繰り上がりを忘れる
  • 1+1 は0を書いて1を左へ渡す。
  • 繰り上がりを二重に足す
  • 各列で「上段 + 下段 + carry」を明記する。
Exam

過去問接続

科目Aで直接効きます。また、第2章の補数、オーバーフロー、CPU演算への前提になります。 選択肢消去では10進数検算が有効。ただし固定長bitが指定されている場合は、上位桁が捨てられる可能性があるため問題文を必ず読む。

図で確認

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

binary

carry盤

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

例題の答え

手を動かす

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

演習 1

進数で `1+1` は何になるか。

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

進数で `1+1+1` は何になるか。

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

加算は左右どちらから行うか。

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

繰り上がりとは何か。

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

旅のメモ

次に残すメモ

12進数の加算ルールを説明できる

2carryを含む2進加算を筆算できる

310進数に戻して検算できる

科目Aで直接効きます。また、第2章の補数、オーバーフロー、CPU演算への前提になります。 選択肢消去では10進数検算が有効。ただし固定長bitが指定されている場合は、上位桁が捨てられる可能性があるため問題文を必ず読む。

確認

この話で持ち帰ること

12進数の加算ルールを説明できる

2carryを含む2進加算を筆算できる

310進数に戻して検算できる

4固定長bitでは桁あふれが問題になることを予告レベルで理解できる