第2章 2-1: 数値の表現 – 2進数, 8進数, 10進数, 16進数

 コンピュータの五大装置について学び終えたシンジとマナは、次の目的地「デジタルデータ渓谷」へと足を踏み入れた。

目の前に広がるのは、幻想的な光景だった。谷底を流れる光の川には、無数の数字が浮かび上がり、まるで星屑が瞬いているように煌めいている。シンジは思わず息をのんだ。

「うわ…これはすごいな。」

数字の流れを目で追いながら呟くと、マナが嬉しそうに頷いた。「でしょ?ここでは、情報を数字で表す仕組みについて学ぶんだよ!」

そう言いながら、マナは杖を掲げる。すると、空中に光の粒が集まり、次第に「0」と「1」の数字を形作っていく。それらは宙に浮かび、ゆっくりと並びながら光を放っていた。

「コンピュータは、すべてを『0』と『1』で考えるんだ。これが、『2進数』の世界!」

マナの声が響くと、数字たちが踊るように渦を巻き、まるでシンジを新たな知識の世界へと誘うかのように輝きを増していった。

「すべてを…0と1で?」シンジは光る数字を手でなぞりながら、不思議そうに眉をひそめた。「たった二つの数字だけで、どうやってこんなに複雑な動きを作れるんだ?」

「ふふっ、それをこれから教えてあげるよ!」マナはウインクしながら笑い、杖を軽く振った。

その瞬間、数字たちが舞い上がり、次々と形を変えながらシンジの前に広がっていく。数字の星々が導く、デジタルの神秘の世界へ――彼の新たな挑戦が始まる。

1. 進数の基礎 – 数字のルールを理解しよう!

シンジは流れる光の数字を見つめながら、眉をひそめた。

シンジ

進数って何なんだ?俺たちが普段使ってる数字と、何が違うんだ?

マナ

簡単に言えば、数を表すルールのことだよ!

マナは笑顔で杖を振ると、空中に「10」「2」「8」「16」と、それぞれ異なる輝きを放つ数字の集合が浮かび上がった。

マナ

私たちが普段使っているのは『10進数』。
だけど、コンピュータの世界では『2進数』を基本として、時には『8進数』や『16進数』も使うんだよ!

シンジ

へぇ…でも、なんでそんなに種類があるんだ?

マナ

じゃあ、一つずつ説明していくね!

① 10進数 – 私たちが普段使う数のルール

マナが指を鳴らすと、宙に「0 1 2 3 4 5 6 7 8 9」と並んだ数字が浮かび上がる。

マナ

10進数は、0から9までの10種類の数字を使う数の表し方。
普段の計算や、お店でのお会計なんかは、全部このルールで動いているよ!

シンジ

まぁ、それは分かるな。俺たちが普段当たり前に使ってるし。

マナ

そうだね。でも、10を超えたらどうなる?

シンジ

11、12…って増えていく。

マナ

そう!
10になると、桁が繰り上がって、次の桁が動き出すのが10進数の特徴なんだよ。

② 2進数 – コンピュータが理解できる数の表し方

次に、マナが杖を振ると、空中に「0 1」とだけ書かれた光の文字が浮かび上がった。

マナ

コンピュータの中では、電気が流れている(1)か、流れていない(0)かの2種類の状態しか表せないの。
だから、コンピュータは『2進数』で数を処理するんだよ!

シンジ

0と1しかない世界か…じゃあ、10とか20はどうやって表すんだ?

マナ

例えば、10進数の『2』は、2進数では『10』って書くの。
10進数の『3』は『11』、4は『100』ってなるの!

シンジ

なんか暗号みたいだな…

シンジは額に手を当てた。

マナ

最初はそう思うよね!
でも、2進数は電気のON・OFFと直結してるから、コンピュータにとってはシンプルで使いやすいんだよ!

③ 8進数 – 2進数を簡単にまとめた表現

マナ

でも、2進数って桁が増えすぎることがあるんだよね。
だから、3ビットずつまとめて『8進数』にする方法もあるの。

マナが杖を振ると、光の数字が3つずつまとまり、
「000」「001」「010」「011」「100」「101」「110」「111」と並んだ。

マナ

8進数は、0~7までの8種類の数字を使う数の表し方。
例えば、2進数の『101』は、8進数の『5』になるんだよ。

シンジ

ふむふむ…つまり、2進数を少し見やすくまとめたのが8進数ってことか?

マナ

そうそう!
プログラムの世界では、2進数をそのまま書くと長くなっちゃうから、8進数にまとめて書くことも多いんだよ。

④ 16進数 – もっと短く簡潔に!

マナ

さらに、2進数を4ビットずつまとめた表現が16進数

今度は、マナの杖の先から「0 1 2 3 4 5 6 7 8 9 A B C D E F」の文字が輝きながら浮かび上がる。

マナ

16進数は、0~9の数字に加えて、10~15をA~Fで表すの

例えば、2進数の『1010』は、16進数の『A』になるんだよ!

シンジ

へぇ、数字だけじゃなくてアルファベットも使うのか!

マナ

そう!
16進数を使うと、2進数をコンパクトに表せるから、プログラムを書くときによく使われるよ。

シンジの理解

シンジはしばらく考え込み、光の数字を指でなぞりながら呟いた。

シンジ

10進数は普段使ってるやつ。
2進数はコンピュータの基本。
そして、8進数や16進数は、それを見やすくするための方法か…なるほど。

マナが満足げに頷く。

マナ

そういうこと!
これを覚えれば、コンピュータがどうやって情報を扱ってるのか、もっと深く理解できるようになるよ!

シンジ

なんか…面白くなってきたかも!

シンジは笑いながら、次の試練に向けて気持ちを高めるのだった。

2. 2進数の変換 – 数字の魔法を使いこなせ!

マナは杖を振ると、光の粒が空中に集まり、ひとつの数を描き出した。それは、「18」という数字だった。

マナ

シンジ、さっきコンピュータは『0』と『1』だけで考えるって言ったよね?

シンジ

うん。でも、10進数の数字を2進数にするってどうやるんだ?

マナ

じゃあ、10進数の『18』を2進数に変換してみよう!

マナが杖を振ると、「18」の数字の横に ÷2 の文字が現れ、数字が次々と分割されていく。

例:10進数「18」を2進数に変換する手順

マナは宙に計算を描きながら説明する。

  • 18 ÷ 2 = 9 → 余り 0
  • 9 ÷ 2 = 4 → 余り 1
  • 4 ÷ 2 = 2 → 余り 0
  • 2 ÷ 2 = 1 → 余り 0
  • 1 ÷ 2 = 0 → 余り 1

マナは余りを下から順に指差しながら言う。

マナ

ここがポイント!余りを逆から読めば2進数になるんだよ

マナ

だから、10進数の『18』は…10010(2進数)になるの!

空中に光る数字「10010」が表示され、ゆっくりと回転しながら輝いた。

シンジ

おぉ…なんか魔法みたいだな!

シンジは感心しながら頷いた。

🔄 逆変換: 2進数「10010」を10進数に戻す

マナ

これを逆にするのも大事だよ!

マナが杖を振ると、今度は「10010」という数字が宙に浮かび、計算が始まる。

マナ

2進数を10進数に戻すには、それぞれの桁の値を計算して足していくの!

計算手順

(1×24)+(0×23)+(0×22)+(1×21)+(0×20)

マナは杖の先で順番に光を当てる。

  1. 1 × 2⁴ = 16
  2. 0 × 2³ = 0
  3. 0 × 2² = 0
  4. 1 × 2¹ = 2
  5. 0 × 2⁰ = 0
マナ

最後に、全部足せば…16 + 0 + 0 + 2 + 0 = 18!

シンジ

おぉ、本当に元の数字に戻った!

シンジは驚いた表情を見せた。

💡 シンジの理解

シンジは空中の光る数字をじっと見つめ、「10進数の数字を2進数にするには割り算、逆に戻すには掛け算と足し算を使えばいいのか…!」と納得した表情を見せる。

「そういうこと!」マナがニッと笑い、杖を回転させながら言った。「これを理解すれば、コンピュータの世界がもっと楽しくなるよ!」

「よし、試しに他の数字でもやってみるか!」シンジは気合を入れ、次の問題に挑む準備を始めるのだった。

3.  8進数と16進数 – 2進数をもっと簡単に!

宙に浮かぶ「0」と「1」の光が、まるでダンスをするように流れていく。
その光景を見つめながら、シンジは少し困惑した表情を浮かべた。

シンジ

2進数って、数字が長くなりすぎて扱いにくいな…。

マナはニヤリと笑い、杖を軽く振った。

マナ

そんなときは、8進数や16進数を使うとスッキリするよ!

シンジ

え?どういうこと?

マナ

じゃあ、試しにこの2進数を変換してみよう!

宙に浮かぶ数字が変化し、「11010110」という2進数が光り輝く。

🔢 2進数を8進数に変換する方法

マナ

まずは『8進数』にしてみよう!

マナが杖を振ると、「11010110」の数字が3ビットごとに区切られ、110 101 110 というグループが形成された。

マナ

ここがポイント!
8進数は、3ビットごとに区切ってそれぞれを10進数に変換するんだよ。

変換の手順

2進数110101110
10進数656
マナ

つまり、2進数の『11010110』は、8進数で『656』になるの!

シンジは考え込みながら呟いた。

シンジ

なるほど…3ビットごとに見れば、2進数が短くまとまるんだな!

マナ

そういうこと!
特に、2進数と相性がいいから、データをまとめるときに使われるのよ!

🔠 2進数を16進数に変換する方法

マナ

次は『16進数』に変換してみよう!

マナが再び杖を振ると、今度は「11010110」の数字が4ビットごとに区切られ、1101 0110 というグループが形成された。

マナ

16進数では、4ビットごとに区切って、それぞれを10進数に変換するの!

変換の手順:

2進数11010110
10進数136
16進数D6
マナ

つまり、2進数の『11010110』は、16進数では『D6』になるの!

シンジは驚いた表情を見せた。

シンジ

えっ!?なんでDなんだ?数字じゃないのか?

マナは笑いながら説明を続ける。

マナ

16進数では、10~15をA~Fで表すの! だから…

  • 10 → A
  • 11 → B
  • 12 → C
  • 13 → D
  • 14 → E
  • 15 → F
シンジ

ってことは…13はDになるんだな!

シンジは納得したように頷いた。

💡 8進数と16進数の使いどころ

シンジ

じゃあ、8進数と16進数って、どんなときに使うんだ?

マナはニッと笑いながら答えた。

マナ

特に16進数は、プログラムを書くときによく使われるの!

シンジ

例えば?

マナ

メモリのアドレスや色の指定なんかは、16進数が便利なのよ。

ほら、よくHTMLやCSSで#FF0000みたいなコードを見たことない?

シンジ

ああ、赤色を表すやつか!

マナ

そうそう!これは赤(FF)・緑(00)・青(00)を表していて、それぞれが16進数になってるの。

シンジ

なるほど、だから16進数が使われるんだな!

💪 シンジの理解

シンジは「11010110」を見ながら、「3ビットごとに区切れば8進数、4ビットごとに区切れば16進数か…」と呟く。

「そういうこと!これを知っておけば、コンピュータのデータ表現がグッと分かりやすくなるよ!」

「よし…だんだん楽しくなってきた!」シンジは拳を握りしめ、次の試練に向けて気持ちを高めた。

試練: 進数変換の挑戦!

シンジが谷底に流れる数字の輝きに見とれていると、空中に光の渦が発生し、突然、数字で構成された巨大な石碑が出現した。石碑には、無数の数字と記号が刻まれており、その中央には「進数変換の試練」と記された文字が浮かび上がっている。

「また試練かよ…!」シンジは身構える。

マナは冷静に杖を構え、「ここでは、進数変換の力が試されるみたいね。」とシンジに説明する。

「進数変換…つまり、さっき習った2進数や16進数の変換か?」

「そういうこと!試練をクリアしないと、先には進めないよ!」

その言葉と同時に、石碑が光を放ち、宙に3つの問題が現れた。

試練1: 10進数を2進数に変換せよ!

問題: 「10進数の『23』を2進数に変換しろ!」

解答

10111

「くそっ、さっきのやり方を思い出せ…!」

シンジは額に汗を滲ませながら、これまでの学びを活かして計算を始めた。

変換の手順

  • 23 ÷ 2 = 11 余り 1
  • 11 ÷ 2 = 5 余り 1
  • 5 ÷ 2 = 2 余り 1
  • 2 ÷ 2 = 1 余り 0
  • 1 ÷ 2 = 0 余り 1

「余りを下から読んで…10111!これが答えだ!」

石碑の文字が光り、第一の試練がクリアされた。

「よし、正解!」マナが満足げに頷いた。

試練2: 2進数を10進数に変換せよ!

問題: 「2進数『11001』を10進数に戻せ!」

解答

25

「さっきと逆にやればいいんだよな?」シンジは焦りながらも落ち着いて考える。

変換の手順

(1×24)+(1×23)+(0×22)+(0×21)+(1×20)

=(1×16)+(1×8)+(0×4)+(0×2)+(1×1)

=16+8+0+0+1

=25

「答えは25だ!」

石碑の文字が再び光り、第二の試練がクリアされた。

「その調子!あと一つ!」マナがシンジを励ます。

試練3: 2進数を8進数と16進数に変換せよ!

問題: 「2進数『10111010』を8進数と16進数に変換せよ!」

解答

「よし、やってやる!」シンジは気合を入れる。

8進数は562

16進数はBA

① 8進数への変換

  1. 3ビットずつ区切る101 110 010
  2. それぞれ10進数に直す5 6 2
  3. 結果562(8進数)

② 16進数への変換

  1. 4ビットずつ区切る1011 1010
  2. それぞれ10進数に直すB(11) A(10)
  3. 結果BA(16進数)

「答えは、8進数なら『562』!16進数なら『BA』!」

最後の答えを言い終えた瞬間、石碑が大きく振動し、まばゆい光を放った。

試練クリア!進数変換スキル習得!

「やった…全部解いたぞ!」シンジは大きく息を吐いた。

「すごいじゃない、シンジ!」マナが満面の笑みを浮かべながら拍手する。

「これで『進数変換』のスキルが身についたはずよ!」

その言葉と同時に、シンジの手のひらに光る紋章が刻まれた。それは、進数のルールを瞬時に見抜く力を与える証だった。

シンジは「進数変換」のスキルを習得した!

「これがあれば、どんな進数の問題が来ても大丈夫な気がする!」シンジは満足げに手を握る。

不穏な気配…補数ゴブリンの影

しかし、安堵する間もなく、谷の奥から不気味な気配が漂ってきた。

「…グゥゥゥゥ…」

低い唸り声とともに、霧の向こうに不気味なシルエットが浮かび上がる。シンジが目を凝らすと、それは数字のような形をしたゴブリンだった。

「マナ、あれは…?」

「…まずいわ。あれは補数ゴブリン…!」マナが警戒するように杖を握りしめる。

「補数?…なんか、嫌な予感がする…。」シンジはゴクリと唾を飲み込んだ。

その瞬間、補数ゴブリンが牙をむき、シンジたちに向かってゆっくりと近づいてきた――。

(次回へ続く)