進数:2進数・8進数・10進数・16進数

進数

進数とは?2進数・8進数・10進数・16進数を初心者向けにわかりやすく解説

コンピュータやプログラミングを学ぶ際に必ず登場するのが 「進数(しんすう)」という概念です。

普段私たちが使っているのは「10進数」ですが、 コンピュータの世界では「2進数」「8進数」「16進数」も頻繁に使われます。

最初は難しく感じるかもしれませんが、 進数の仕組みはとてもシンプルで、 基本的な考え方を理解すればすぐに理解できます。

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

  • 進数とは何か
  • 10進数の仕組み
  • 2進数の考え方
  • 8進数の役割
  • 16進数の役割

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

それぞれの進数の計算方法や変換方法については、 別記事で詳しく解説する予定です。

進数とは何か

進数とは、 数を表現するためのルールのことです。

簡単に言うと、

「いくつで桁が上がるか」

を決める仕組みです。

例えば、

  • 10進数 → 10で桁が上がる
  • 2進数 → 2で桁が上がる
  • 8進数 → 8で桁が上がる
  • 16進数 → 16で桁が上がる

この違いが進数の本質です。

私たちが普段使う「10進数」

日常生活で使っている数はすべて10進数です。

10進数では、

  • 0〜9の10個の数字を使う
  • 10になると桁が上がる

というルールになります。

例えば「345」という数は、

  • 3 × 100
  • 4 × 10
  • 5 × 1

のように、10の累乗で構成されています。

コンピュータの基本「2進数」

コンピュータは内部的に2進数で動作しています。

2進数では、

  • 0と1の2つだけを使う
  • 2になると桁が上がる

というルールです。

例えば、

  • 0
  • 1
  • 10(←2)
  • 11(←3)
  • 100(←4)

となります。

これは電気信号の

  • ON(1)
  • OFF(0)

と対応しているため、 コンピュータにとって扱いやすい形式です。

2進数を扱いやすくする「8進数」

2進数は桁数が長くなりやすいため、 人間にとっては扱いにくいという問題があります。

そこで使われるのが8進数です。

8進数では、

  • 0〜7の8個の数字を使う
  • 8になると桁が上がる

というルールになります。

8進数は、 2進数を3桁ずつまとめて表現できるという特徴があります。

例えば、

2進数:111 → 8進数:7

このように変換できます。

そのため、

  • Unixのパーミッション(chmod 755など)
  • 古いシステム

などで利用されます。

人間にとって見やすい「16進数」

16進数は、 2進数をさらに効率よく表現するための方法です。

16進数では、

  • 0〜9
  • A〜F(10〜15)

を使用します。

例えば、

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

となります。

16進数は、 2進数を4桁ずつまとめることができます。

例えば、

2進数:1111 → 16進数:F

このように短く表現できます。

そのため、

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

などで広く利用されています。

進数の関係まとめ

それぞれの進数は以下のような関係があります。

  • 2進数 → コンピュータ内部
  • 8進数 → 2進数を3桁単位で表現
  • 16進数 → 2進数を4桁単位で表現
  • 10進数 → 人間が使う数

つまり、

2進数を人間が扱いやすくしたものが8進数と16進数

と考えると理解しやすくなります。

進数が重要な理由

進数は単なる数学ではなく、 コンピュータの仕組みそのものに関係しています。

例えば、

  • IPアドレス
  • メモリ容量
  • ファイル権限(chmod)
  • カラーコード

など、さまざまな場面で登場します。

特にLinuxやインフラ分野では、 進数の理解は必須と言えます。

初心者が理解するコツ

進数を理解するためのポイントは、

「桁が上がる基準が違うだけ」

と考えることです。

難しい計算として考えるのではなく、

  • 10進数 → 10で繰り上がる
  • 2進数 → 2で繰り上がる
  • 8進数 → 8で繰り上がる
  • 16進数 → 16で繰り上がる

というシンプルな違いとして捉えると、 理解しやすくなります。

まとめ

進数とは、 数を表現するための基準であり、 「いくつで桁が上がるか」を決める仕組みです。

  • 10進数:日常で使用
  • 2進数:コンピュータ内部
  • 8進数:2進数を簡略化(主にUnix系)
  • 16進数:2進数を効率よく表現

これらの進数は、 コンピュータの理解において非常に重要な基礎知識です。

それぞれの進数の計算方法や変換方法については、 別記事で詳しく解説していきます。

まずは「桁の繰り上がりの違い」という基本概念を理解し、 進数に慣れていきましょう。