16進数についての補足


bit,byte

0,1の2値を1bitといいます.1bitは二進数の一桁と同じ意味です.

また,8bit(二進数八桁)まとめて1byteという単位を用いることがあります.

電気屋さんで売られているCD-R 700MB,HDD 500GBなどの" B "はこのbyteのことを表します.

1byteと16進数

1byteをビット列(二進数表記)で表すことを考えます.bitが8つ並んでいるものを考えると,最小を

0000 0000

最大を

1111 1111

と表すことができます.

こうやってbyteと16進数の対応を説明をするときには,上と下を4つずつに区切って書くことが多いですが,別につながった一列の0100…の並びでも構いません.

この『4つで一塊の二進数の列』をひと桁とする新しい進数を考えることで16進数が登場します.

4つで一塊の二進数列の最大値は

1111

ですが,これを普段私たちが使う十進数表記に直すと

x = 1 + 2^1 + 2^2 + 2^3
  = 1 + 2   + 4   + 8
  = 15

で,最小の値 0000 を合わせると新しく定義したい進数の "ひと桁" の数は 16になります.

新しい進数では,ひと桁で 0 ~ 15 までを表さなければならないのですが,普段僕たちが "十進数のひと桁" で使う数は 0 ~ 9で,このままでは足りません

なので,10 ~ 15 まで "ひと桁" で表わすために慣例的に A ~ F を使うことで,ひと桁の数を拡張することになっています.対応は以下のとおりです.

0 ~ 9 … 十進数と同じ
10 = A
11 = B
12 = C
13 = D
14 = E
15 = F

先ほどの 1byte = 8bit からなるビット列を "上位4bit" "下位4bit" に分けて4bitをひと桁と考えると16進数を用いて 00 ~ FF の 2 桁の数で表すことができます.

普段の生活では,16進数を使うと10進数と間違えてしまうことがあるので,16進数であることを明示的に示すために "0x" という接頭辞のようなものを付けて,

0x00 ~ 0xFF

というように表記するのが普通です.


世の中で使われている○進数の例

時計は60進数

コンピュータの色は16進数×3

コンピュータの色は赤(R),緑(G),青(B)をそれぞれ16進数で00~FFまでで指定することが良くあります.

10 進数以外の単位が使われているものは沢山あります. 自分で色々探してみると面白いかもしれません.