【真面目版】「0」と「1」だけで世界は動いている? 10進数・2進数・16進数のやさしい話

目次

はじめに

幽灯子/基本情報技術者副専門官

私たちが毎日使っている「数の数え方」は、実は何種類もあります。普段意識することはありませんが、スマホもパソコンも、まったく違う数え方で動いています。

この記事では、10進数2進数16進数の3つを、身近なたとえを使いながらやさしく解説します。


まずは「10進数」── 私たちの日常の数え方

幽灯子/基本情報技術者副専門官

10進数は、私たちが子どものころから使っている、もっともなじみ深い数え方です。「0, 1, 2, 3, 4, 5, 6, 7, 8, 9」の10種類の数字を使い、9の次は桁が上がって「10」になります。

なぜ10種類なのか? 有力な説は「人間の指が10本だから」というものです。大昔の人々が指を折って数を数えた名残が、現代の数の仕組みにまで受け継がれているわけですね。

たとえば「253」という数は、こんなふうに分解できます。

  • 百の位(10×10)が 2 つ → 200
  • 十の位(10)が 5 つ → 50
  • 一の位(1)が 3 つ → 3

合計して 253。当たり前のようですが、この「桁が上がるたびに10倍になる」という仕組みこそが、10進数の正体です。

次に「2進数」── コンピュータの母国語

幽灯子/基本情報技術者副専門官

コンピュータの世界では、使える数字は 「0」と「1」の2つだけ です。これが2進数です。

なぜ2つだけなのか? それは、コンピュータの中身が「電気のスイッチ」の集まりだからです。スイッチには「ON(1)」と「OFF(0)」の2つの状態しかありません。この超シンプルなルールの組み合わせで、写真も動画も音楽も、すべて表現しているのです。

2進数の数え方

10進数と対比すると、こうなります。

10進数2進数
00
11
210
311
4100
5101
6110
7111
81000
91001
101010

10進数では「9」の次に桁が上がりますが、2進数では「1」の次にもう桁が上がります。だから数字がどんどん長くなるのが特徴です。

身近なたとえ:電球の列

8個の電球が横一列に並んでいるところを想像してください。それぞれの電球が「点いている(1)」か「消えている(0)」かの組み合わせで、0〜255までの256通りの数を表すことができます。これがまさに、コンピュータの中で起きていることです。

この「電球8個分」の単位を 1バイト(byte) と呼びます。「このファイルは500キロバイト」という表現を聞いたことがあるかもしれませんが、それは約50万個ぶんの「電球8個セット」でデータが表されている、ということなのです。

そして「16進数」── 2進数の便利な翻訳者

幽灯子/基本情報技術者副専門官

2進数はコンピュータにとっては最高の言語ですが、人間にとっては「10110110」のような長い文字列は読みにくくてしかたありません。そこで登場するのが 16進数 です。

16進数は「0〜9」に加えて「A, B, C, D, E, F」の 16種類の文字 を使います。AからFはそれぞれ10〜15を表しています。

10進数2進数16進数
000000
100011
501015
910019
101010A
111011B
151111F
161000010
25511111111FF

なぜ「16」なのか?

ポイントは、16が2の4乗(2×2×2×2)だということです。つまり、2進数の4桁ぶんを、16進数ならたった1文字で表せる のです。

たとえば、2進数の「10110110」は、4桁ずつ区切ると「1011 | 0110」。これを16進数に変換すると「B6」。たった2文字になりました。人間がパッと見て扱いやすくなりますよね。

日常で見かける16進数

実は、16進数は意外と身近なところに登場しています。

カラーコード: Webサイトやデザインツールで見かける「#FF5733」のような色指定。これは16進数で、赤(FF)・緑(57)・青(33)の強さをそれぞれ00〜FFの範囲で表しています。つまり「#FF5733」は「赤が最大、緑がやや控えめ、青は少なめ」=鮮やかなオレンジ色です。

MACアドレス: Wi-Fiルーターの設定画面などで見かける「A1:B2:C3:D4:E5:F6」のような文字列。これもネットワーク機器の「住所」を16進数で表したものです。

3つの関係をまとめると

特徴10進数2進数16進数
使う文字0〜9(10種類)0と1(2種類)0〜9, A〜F(16種類)
桁が上がるタイミング9の次1の次Fの次
誰が使う?私たち人間コンピュータ人間とコンピュータの橋渡し
メリット直感的でわかりやすい電子回路で実現しやすい2進数をコンパクトに表せる

10進数は「人間の言葉」、2進数は「コンピュータの言葉」、そして16進数は「両者をつなぐ通訳」

そんなイメージで覚えておくと、すっきり理解できるのではないでしょうか。

おわりに

普段スマホを触っているとき、その裏側では膨大な量の「0」と「1」が猛スピードで処理されています。10進数・2進数・16進数はそれぞれ別物に見えますが、表現のしかたが違うだけで、表している「数そのもの」はまったく同じです。

幽灯子/基本情報技術者副専門官

次にWebサイトのカラーコードやファイルサイズの表記を見かけたら、「ああ、これは16進数だな」「バイトってことは2進数8桁ぶんか」と、少しだけ裏側が見えるようになるはずです。デジタルの世界が、ちょっとだけ身近に感じられたらうれしいです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITTIのアバター ITTI 運営長

ITTI運営長
調べものと学ぶことが止められなくなり、現在は以下の4ブログを運営中:
・DXブログ(今ここ!)
・CODEブログ
・INFRAブログ
・XRブログ

保有資格:ITパスポート
目標資格:情報処理安全確保支援士(学ぶこと多すぎて道のりは遠いですが、毎日コツコツ進めています…泣)

ブログでは、実務経験と最新技術を掛け合わせて、読者の「わかりにくい」を「わかる!」に変える記事を発信中!
最終目標は、これらの知識を活かして「ドラえもんのような万能AI」を開発すること(AIを副運営長任命が待ち遠しい!)。
DX・CODE・INFRA・XRに興味ある方、気軽にX(@llEqmDGOYZ4258)でDMください。一緒に学びましょう!

公務員のキャラがDXを解説!?パロディのブログ『ITTI DX』、発信中!

ITTI DXは企業の安心と持続をサポートするDXを特化したブログ

コメント

コメントする

CAPTCHA


目次