16進数

16進数

16進数とは?仕組み・変換・使いどころまで初心者向けにわかりやすく解説

プログラミングやLinux、ネットワークの分野では 16進数(じゅうろくしんすう)が頻繁に登場します。

例えば、

  • カラーコード(#FF0000)
  • メモリアドレス
  • バイナリデータ

などで使われています。

一見するとアルファベットが混ざっていて難しそうに見えますが、 仕組みは非常にシンプルです。

本記事では初心者向けに、

  • 16進数とは何か
  • 基本ルール
  • 2進数との関係
  • 10進数との変換方法
  • 実際の使用例

をわかりやすく解説します。

16進数とは何か

16進数とは、 16種類の記号で数を表現する仕組みです。

使用する記号は以下の通りです。

  • 0〜9
  • A〜F(10〜15を表す)

つまり、

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15

となります。

そして、

16になると桁が上がる

というルールです。

16進数の数え方

実際の数え方は以下の通りです。

  • 0(0)
  • 1(1)
  • 9(9)
  • A(10)
  • B(11)
  • C(12)
  • D(13)
  • E(14)
  • F(15)
  • 10(16)

※括弧内は10進数です。

「Fの次が10になる」点が重要です。

16進数の仕組み(桁の意味)

16進数の各桁は、 16の累乗で構成されています。

  • 1(16⁰)
  • 16(16¹)
  • 256(16²)
  • 4096(16³)

例えば、

1A

は次のように分解できます。

  • 1 × 16
  • A(10)× 1

つまり、

16 + 10 = 26(10進数)

となります。

16進数と2進数の関係

16進数は、 2進数と非常に密接な関係があります。

なぜなら、

2⁴ = 16

だからです。

つまり、

2進数を4桁ずつまとめて表現できる

という特徴があります。

例:

2進数:1101 0110

これを4桁ずつ区切ると、

  • 1101 → D(13)
  • 0110 → 6

つまり、

D6(16進数)

となります。

この仕組みにより、 長い2進数を短く表現できます。

10進数から16進数への変換

10進数を16進数に変換するには、 16で割り続ける方法を使います。

例:10進数「255」

255 ÷ 16 = 15 余り15
 15 ÷ 16 = 0 余り15

15は「F」なので、

FF(16進数)

となります。

16進数から10進数への変換

各桁に16の累乗を掛けて足します。

例:2F

  • 2 × 16
  • F(15)× 1

合計:

32 + 15 = 47

16進数が使われる場面

カラーコード

Webでよく使われるカラーコード:

#FF0000 → 赤

これはRGBの値を16進数で表しています。

メモリアドレス

コンピュータ内部では、 メモリアドレスが16進数で表現されます。

例:

0x7fff1234

バイナリデータ

バイナリファイルの中身を表示するときにも、 16進数が使われます。

16進数が使われる理由

16進数が使われる理由は次の通りです。

  • 2進数をコンパクトに表現できる
  • 人間にとって読みやすい
  • 桁区切りが分かりやすい(4ビット単位)

初心者が理解するコツ

16進数を理解するポイントは、

「16で繰り上がる」+「A〜Fは10〜15」

これだけです。

さらに、

  • 2進数は4桁でまとめる

この関係を覚えると一気に理解しやすくなります。

まとめ

16進数は、 0〜9とA〜Fで表現する進数です。

  • 16で繰り上がる
  • 16の累乗で構成される
  • 2進数を4桁単位で表現できる

カラーコードやメモリアドレスなど、 実務でも頻繁に使われる重要な知識です。

2進数との関係を理解することで、 16進数は非常にわかりやすくなります。

プログラミングやインフラを学ぶ上で、 必ず押さえておきたい基本知識の一つです。