CodeArc FE 学習アドベンチャー

基礎理論 / 解法

第6話 アドレス札を読み間違えるな

16進メモリの宝石箱を抜けると、細い通路の壁に無数の札が並んでいた。 ナナは札を見て、少し顔をしかめた。 「全部10に見えるんだけど……同じ場所?」 アイリは首を振った。 「同じに見えるから危ない。数字は、どの基数で書かれているかによって値が変わる」 Bitが一枚目の札を指した。 「これは2進数です。…

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

会話

1 / 11

Recap

ここまでの3行

  1. 第3話 桁上がりの火花 逆読みレーダーが復旧した翌朝、ビットの街の北区画で小さな爆発が起きた。ナナが駆けつけると、そこには銀色の加算装置があった。装置の上には2本の入力ケーブルが伸びている。 中央には赤い警告が点滅…
  2. 第4話 8ビット倉庫 加算装置の火花が収まったころ、街の東側にある記憶倉庫から緊急信号が届いた。 倉庫の扉には、赤い文字が走っている。 ナナたちが駆けつけると、倉庫の中には小さな箱が無数に並んでいた。箱の一つ一つ…
  3. 第5話 16進メモリの宝石箱 ビット倉庫の奥に開いた通路は、まるで宝石箱の中のようだった。壁には小さな札が並び、そこには0と1だけでなく、A、B、C、D、E、Fの文字が刻まれていた。 ナナは足を止めた。 「これ、数字なの…

図解

アドレス札

文脈
┌────────┬────────┬────────────┐ │ 表記 │ 基数 │ 10進数の値 │ ├────────┼────────┼────────────┤ │ 10₂ │…
読む順
アドレス札 → 基数比較表 → ┌────────┬────────┬────────────┐ → │ 表記 │ 基数 │ 10進数の値 │
照合
答えは ウ。図の最後の状態と照合します。

学習テーマAnalysis Theme

この話では、基数表記の見分け方を学びます。 コンピュータ分野では、同じ 10 でも基数によって値が変わります。 FEではこの混同を利用した選択肢が出ます。

基礎理論 / 解法

16進メモリの宝石箱を抜けると、細い通路の壁に無数の札が並んでいた。 ナナは札を見て、少し顔をしかめた。 「全部10に見えるんだけど……同じ場所?」 アイリは首を振った。 「同じに見えるから危ない。数字は、どの基数で書かれているかによって値が変わる」 Bitが一枚目の札を指した。 「これは2進数で…

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

解説動画Lesson Feed

Chapter 1 Episode 6 lesson explainer
Scene Board アドレス札 16進メモリの宝石箱を抜けると、細い通路の壁に無数の札が並んでいた。 ナナは札を見て、少し顔をしかめた。 「全部10に見えるんだけど……同じ場所?」 アイリは首を振った。 「同じに見えるから…
アドレス札 基数比較表 ┌────────┬────────┬────────────┐ │ 表記 │ 基数 │ 10進数の値 │ ├────────┼────────┼────────────┤ │ 10₂ │ 2進数 │ 2 │

ナナ / 困惑

全部10に見えるんだけど……同じ場所?

ナレーター

同じ10の罠

通路の札はどれも10に見える。だが基数が違えば、同じ見た目でも値は変わる。

アイリ / 決意

同じに見えるから危ない。数字は、どの基数で書かれているかによって値が変わる

Bit / 決意

これは2進数です。値は2です

アイリ / 決意

これは普通の10進数。値は10

アイリ / 決意

プログラムや技術文書では、`0x` が付くと16進数を表すことが多い。だから `0x10` は16進数の10

ナレーター

0x10の札

`10₂` は2、`10` は10、`0x10` は16。印を見て基数を決めてから読む。

ナナ / 困惑

つまり、同じ10でも、2、10、16になる?

アイリ / 決意

基数の問題で大事なのは、見た目じゃない。全部同じ基準に戻して比べること

Bit / 決意

FEの選択肢は、この混同を狙ってきます

ナレーター

比べる前に戻す

FEの選択肢は基数混同を狙う。全部を10進数へ戻してから比べると迷いにくい。

目標

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

10x表記を読める

2異なる基数を比較できる

3`10₂`, `10₁₀`, `10₁₆`, `0x10` を区別できる

416進数の `0x` 表記を説明できる

5異なる基数の値を10進数に戻して比較できる

6基数混同を狙った選択肢を消せる

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

16進メモリの宝石箱を抜けると、細い通路の壁に無数の札が並んでいた。 ナナは札を見て、…

16進メモリの宝石箱を抜けると、細い通路の壁に無数の札が並んでいた。

10
10₂
10₁₀
10₁₆
0x10

ナナは札を見て、少し顔をしかめた。

「全部10に見えるんだけど……同じ場所?」

アイリは首を振った。

「同じに見えるから危ない。数字は、どの基数で書かれているかによって値が変わる」

Bitが一枚目の札を指した。

10₂

「これは2進数です。値は2です」

ナナは計算する。

10₂ = 1×2 + 0 = 2₁₀

次にアイリが 10₁₀ を指す。

「これは普通の10進数。値は10」

そして最後に 0x10 の札を指した。

「プログラムや技術文書では、0x が付くと16進数を表すことが多い。だから 0x10 は16進数の10」

ナナは嫌な予感がした。

10₁₆ = 1×16 + 0 = 16₁₀

「つまり、同じ10でも、2、10、16になる?」

「そう」

その瞬間、通路の奥にある扉が開きかけたが、すぐに閉じた。扉には新しい問題が表示されている。

次のうち、最も大きい値を持つアドレス札を選べ。
ア:1010₂
イ:0x0B
ウ:12₁₀
エ:1001₂

黒いノイズが天井から滲んだ。

> 見た目で選べ。桁が多いものが大きい。

ナナは首を振った。 全部を10進数へ直す。

1010₂ = 8 + 2 = 10
0x0B = B₁₆ = 11
12₁₀ = 12
1001₂ = 8 + 1 = 9

最大は12。答えはウ。

扉が開く。アイリは満足そうに笑った。

「基数の問題で大事なのは、見た目じゃない。全部同じ基準に戻して比べること」

ナナは通路の札をもう一度見た。さっきまで全部同じに見えていた数字が、今は別々の意味を持つ記号に見える。

Bitが小さく言った。

「FEの選択肢は、この混同を狙ってきます」

ナナはノートに書いた。

数字を見る前に、基数を見る。
比較するときは、全部10進数に戻す。

その言葉を記録した瞬間、通路の札が正しく並び替わった。 アドレスの迷路は、もうただの数字の羅列ではなかった。基数を読める者だけが進める地図だった。

本文全部10に見えるんだけど……同じ場所?

本文同じに見えるから危ない。数字は、どの基数で書かれているかによって値が変わる

本文これは2進数です。値は2です

Narrator

同じ10の罠

通路の札はどれも10に見える。だが基数が違えば、同じ見た目でも値は変わる。

Narrator

0x10の札

10₂ は2、10 は10、0x10 は16。印を見て基数を決めてから読む。

Narrator

比べる前に戻す

FEの選択肢は基数混同を狙う。全部を10進数へ戻してから比べると迷いにくい。

解法の要点

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

導入

学習導入

この話では、基数表記の見分け方を学びます。 コンピュータ分野では、同じ 10 でも基数によって値が変わります。

10₂  = 2₁₀
10₁₀ = 10₁₀
10₁₆ = 16₁₀
0x10 = 16₁₀

FEではこの混同を利用した選択肢が出ます。

解法

解き方の手順

基数とは、桁がいくつで繰り上がるかを表すものです。

基数使う数字繰り上がり
2進数0,12で繰り上がる
10進数0〜910で繰り上がる
16進数0〜9,A〜F16で繰り上がる

表記例:

10₂    → 2進数の10
10₁₀   → 10進数の10
10₁₆   → 16進数の10
0x10   → 16進数の10

異なる基数の数を比較するときは、全部10進数に戻します。

手順

解法手順

  • 数字そのものを見る前に基数表記を確認する
  • ₂, ₁₀, ₁₆, 0x を探す
  • 比較が必要なら全部10進数に直す
  • 2進数は重み表で戻す
  • 16進数は各桁の重み、または2進数経由で戻す
  • 同じ基準にしてから大小・一致を判断する
例題

例題

問題

次のうち、10進数として最も大きい値はどれか。

選択肢
1010₂
0x0B
12₁₀
1001₂

解説

ア:1010₂ = 8 + 2 = 10
イ:0x0B = B₁₆ = 11
ウ:12₁₀ = 12
エ:1001₂ = 8 + 1 = 9

答え

検算

大小順に並べる。

9 < 10 < 11 < 12

なぜ他の選択肢が違うか

アは10、イは11、エは9で、いずれも12より小さい。

答え: ウ

修復

誤答パターン

  • 1010₂ を千十と読む
  • 2進数なので重みで読む。
  • 0x0B を読めない
  • 0x は16進数。B=11。
  • 10₁₆ を10進数の10と読む
  • 16進数の10は10進数の16。
Exam

過去問接続

科目Aで直接効きます。 「次の数値のうち最も大きいもの」「16進数で表された値を10進数に直す」「同じ値を表す組合せ」などで出ます。

図で確認

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

図解

アドレス札

┌────────┬────────┬────────────┐
│ 表記   │ 基数   │ 10進数の値 │
├────────┼────────┼────────────┤
│ 10₂    │ 2進数  │ 2          │
│ 10₁₀   │ 10進数 │ 10         │
│ 10₁₆   │ 16進数 │ 16         │
│ 0x10   │ 16進数 │ 16         │
└────────┴────────┴────────────┘

UIでは札をドラッグして、基数ラベルと10進値に対応させる。

アドレス札 基数比較表 ┌────────┬────────┬────────────┐ │ 表記 │ 基数 │ 10進数の値 │ ├────────┼────────┼────────────┤ │ 10₂ │ 2進数 │ 2 │
例題の答え

手を動かす

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

演習 1

`10₂` は10進数でいくつか。

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

`10₁₆` は10進数でいくつか。

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

`0xFF` は何進数表記か。

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

`0x0A` は10進数でいくつか。

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

旅のメモ

次に残すメモ

1`10₂`, `10₁₀`, `10₁₆`, `0x10` を区別できる

216進数の `0x` 表記を説明できる

3異なる基数の値を10進数に戻して比較できる

科目Aで直接効きます。 「次の数値のうち最も大きいもの」「16進数で表された値を10進数に直す」「同じ値を表す組合せ」などで出ます。

確認

この話で持ち帰ること

1`10₂`, `10₁₀`, `10₁₆`, `0x10` を区別できる

216進数の `0x` 表記を説明できる

3異なる基数の値を10進数に戻して比較できる

4基数混同を狙った選択肢を消せる