スイッチの国

コンピュータは
「0」と「1」だけで
数えている

私たちは 0〜9 の10個の数字で数えます。コンピュータが使うのは 0と1 の2個だけ。そして、その2つをつなぐ「16進数」という数え方もあります。まずはボタンを押して、3つを見くらべてみよう。

10進数(私たち)
2進数(コンピュータ)
16進数(その中間)
+1 ボタンを押してみよう
STEP 1

10進数って、どんな仕組み?

10進数で使える数字は 0・1・2・3・4・5・6・7・8・910個だけ。
でも、9の次の数字はありません。困った!

そこで 「9の次は、となりの部屋に1つ渡して、自分は0に戻る」 というルールを使います。これが くり上がりです。

部屋の大きさ(位)
右の部屋から順に、1の部屋・10の部屋・100の部屋。
となりの部屋へ行くたびに、大きさが 10倍になります。
だから 325 は 100が3個 + 10が2個 + 1が5個、という意味です。
STEP 2

2進数も、まったく同じルール

2進数で使える数字は 012個だけ。
1の次の数字がないので、1の次でもうくり上がりします。

部屋の大きさは、となりへ行くたびに 2倍
右から 1 → 2 → 4 → 8 → 16 → 32 …と増えていきます。

10進数

使う数字:0〜9(10個)
くり上がり:10集まったら
位:1・10・100・1000

2進数

使う数字:0と1(2個)
くり上がり:2集まったら
位:1・2・4・8・16

ちがうのは「数字が何個あるか」だけ。考え方はそっくりです。

STEP 3

数字を増やしたら? それが16進数

2進数は数字が2個しかないので、少し大きな数でも 11001010 のように長くなってしまいます。読むのも書くのも大変。

そこで逆に、数字を16個に増やしてみます。でも数字は 0〜9 の10個しかない…。足りない6個は、アルファベットを数字として使います

A=10 / B=11 / C=12 / D=13 / E=14 / F=15
Aは「エー」ですが、意味は「10」。9の次は10ではなく A で、F(15)の次でやっとくり上がって 10(=16)になります。

位の大きさは、となりへ行くたびに 16倍。右から 1 → 16 → 256 です。
たとえば 2F は、16が2個 + 1が15個 = 47

3つの数え方の対応表

ここが16進数のすごいところ
表をよく見ると、2進数の4桁(0000〜1111)と 16進数の1桁(0〜F)が、ぴったり同じ数だけあります。
だから 2進数を4つずつ区切って、1文字に置きかえるだけで16進数になります。長い2進数を短く書くための、コンピュータの「略記」なんです。
STEP 4

変換マシンで、2進数 ⇄ 16進数

2進数を右から4つずつのかたまりに分けて、かたまりごとに16進数の1文字にする機械です。ランプを押すと2進数から、スライダーを動かすと16進数から作れます。どちらを動かしても、もう片方がついてきます。

かたまりが3つあるので、1011 1010 0011 のような12桁も、たった3文字の BA3 で書けます。

左のかたまり256の位
▼ 4つまとめて 1文字
B
048CF
まん中のかたまり16の位
▼ 4つまとめて 1文字
A
048CF
右のかたまり1の位
▼ 4つまとめて 1文字
3
048CF
ふしぎポイント:どのかたまりも、かたまりの中だけで見れば 8・4・2・1。つまり必ず 0〜15 におさまります。
0〜15 は16進数のちょうど1文字ぶん。だから 2進数4桁=16進数1文字。かたまりが2つでも3つでも100個でも、右から4つずつ区切れば同じやり方で変換できます。

かたまりの「位」の大きさ

16進数も10進数と同じで、左へ行くほど位が大きくなります。ちがうのは、となりへ行くと 16倍になること。

右のかたまりは 1の位、まん中は 16の位(16倍)、左は 256の位(さらに16倍)。
だから BA3 は、11×256 + 10×16 + 3×1 = 2979 という計算になります。

2進数で見ると、左のかたまりの4つのランプは 2048・1024・512・256 の位。それでも「かたまりの中の 8・4・2・1」×256 と考えれば、同じ答えになります。

STEP 5

スイッチ板で遊ぼう

ランプをタップすると、明かりがつきます。
ついたランプの下の数を全部たすと、10進数の答え。
ランプは4つずつのグループに分けてあります。グループごとに読むと16進数です。
ランプの並びをそのまま読んだものが 2進数です。

ためしてみて: 光っているランプを1つだけ左へずらすと、数はどうなる?
じつは 2倍になります。2進数では「左へずらす=2倍、右へずらす=半分」なんです。
STEP 6

10進数 → 2進数 → 16進数

おもりのせゲームで考えます。大きいおもりから順に「これ、のせられる?」と聞いていくだけ。

13
STEP 7

2進数 → 10進数

今度は逆。1が立っている位の数を足し算するだけです。やってみよう!

たしかめクイズ

6問、解いてみよう

おまけ

どうしてコンピュータは 0と1なの?

コンピュータの中には、ものすごい数の小さなスイッチがあります。スイッチができるのは 「電気が流れる(=1)」「流れない(=0)」 の2つだけ。

もし 0〜9 を表そうとすると、電気の強さを10段階に見分けないといけません。それは間違えやすい。
でも 「ついている/ついていない」の2つなら、まず間違えません。だからコンピュータは 2進数を選んだのです。

指で31まで数えられる!
片手の指をスイッチにして、親指=1、人さし指=2、中指=4、くすり指=8、小指=16。
立てた指の数をたすと、片手だけで 0〜31 まで数えられます。両手なら1023まで!

16進数は、どこで見かける?

ホームページの色の指定です。#FF8800 のような6文字は、2文字ずつ「赤・緑・青の強さ」を 0〜255(=00〜FF)で表したもの。
FF は 255 で「めいっぱい」、00 は 0 で「なし」。つまり #FF8800 は、赤めいっぱい・緑すこし・青なし = オレンジ、という意味です。