基数変換

基数変換

基数変換とは?2進数・8進数・10進数・16進数の変換方法を初心者向けに解説

プログラミングやLinux、ネットワークの分野を学んでいると、 「基数変換(きすうへんかん)」という言葉が登場します。

基数変換とは、

ある進数の数を、別の進数に変換すること

を指します。

例えば、

  • 10進数 → 2進数
  • 2進数 → 16進数
  • 8進数 → 10進数

などの変換が基数変換です。

一見難しそうに見えますが、 ルールを理解すれば確実にできるようになります。

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

  • 基数変換とは何か
  • 各進数の関係
  • 10進数との相互変換
  • 2進数と8進数・16進数の変換
  • 実務での使いどころ

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

基数変換とは何か

基数変換とは、 数の表現方法(進数)を変換することです。

重要なのは、

値は同じで、表現だけが変わる

という点です。

例えば、

  • 10進数:10
  • 2進数:1010
  • 8進数:12
  • 16進数:A

すべて同じ「10」という値を表しています。

進数の関係を理解する

基数変換を理解するためには、 進数同士の関係を知ることが重要です。

  • 2進数(基数2)
  • 8進数(基数8 = 2³)
  • 16進数(基数16 = 2⁴)
  • 10進数(基数10)

特に、

8進数と16進数は2進数と強い関係がある

という点が重要です。

10進数 → 他の進数への変換

10進数から他の進数へ変換する場合は、 「割り算」を使う方法が基本です。

10進数 → 2進数

13 ÷ 2 = 6 余り1
 6 ÷ 2 = 3 余り0
 3 ÷ 2 = 1 余り1
 1 ÷ 2 = 0 余り1

下から読む → 1101

10進数 → 8進数

100 ÷ 8 = 12 余り4
 12 ÷ 8 = 1 余り4
  1 ÷ 8 = 0 余り1

144

10進数 → 16進数

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

15 → F

FF

他の進数 → 10進数への変換

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

2進数 → 10進数

1011

  • 1 × 8
  • 0 × 4
  • 1 × 2
  • 1 × 1

11

8進数 → 10進数

157

  • 1 × 64
  • 5 × 8
  • 7 × 1

111

16進数 → 10進数

1A

  • 1 × 16
  • A(10)× 1

26

2進数 ↔ 8進数の変換(重要)

2進数と8進数は、 3桁単位で変換できるのが特徴です。

2進数:110101

3桁ずつ区切る:

110 101

  • 110 → 6
  • 101 → 5

65(8進数)

2進数 ↔ 16進数の変換(重要)

16進数は4桁単位で変換できます。

2進数:11010110

4桁ずつ区切る:

1101 0110

  • 1101 → D
  • 0110 → 6

D6(16進数)

基数変換のコツ

基数変換で重要なポイントは以下の3つです。

  • 10進数への変換は「掛け算」
  • 10進数からの変換は「割り算」
  • 2進数を基準に考える

特に、

迷ったら一度10進数に戻す

という方法が有効です。

実務での使いどころ

基数変換はさまざまな場面で使われます。

  • IPアドレスの計算
  • Linuxの権限設定(8進数)
  • メモリアドレス(16進数)
  • ビット演算

特にインフラエンジニアにとっては、 必須のスキルです。

初心者がつまずくポイント

  • A〜Fの扱い
  • 繰り上がりの理解
  • 桁の意味が分からない

これらは、

  • 小さい数で練習する
  • 2の累乗・8の累乗・16の累乗を覚える

ことで解決できます。

まとめ

基数変換とは、 異なる進数同士で数を変換することです。

  • 10進数 → 割り算で変換
  • 10進数 ← 掛け算で変換
  • 2進数は基準になる
  • 8進数・16進数は2進数と密接

基数変換を理解すると、 コンピュータの仕組みがより深く理解できるようになります。

最初は難しく感じますが、 基本ルールを覚えて繰り返し練習することで、 確実に身につく重要なスキルです。