【保存版】進数変換のやり方をゼロから完全解説!2進数・10進数・16進数の計算とコツ
「基本情報技術者試験の勉強を始めたけど、進数変換でつまずいた…」
「プログラミングで16進数が出てきて意味不明…」
安心してください。進数変換は、少し独特なルールがあるだけで、決して難しい数学ではありません。
この記事では、文系出身のエンジニアでも理解できるように、基礎の基礎から丁寧に解説します。
1. そもそも「進数(基数)」って何?
進数とは、一言で言えば「桁上がりのルール」のことです。
私たちは普段、0〜9までの10個の数字を使っています。9の次は、位(くらい)を一つ上げて「10」と書きますよね。
これが10進数です。「10個集まったら桁上がりする」というルールです。
もし、このルールが「2個で桁上がり」なら2進数、「16個で桁上がり」なら16進数になります。ルールが違うだけで、数の大きさそのものが変わるわけではありません。
2. よく使う3つの進数(2・10・16)
コンピュータの世界で登場する主要なプレイヤーを紹介します。
| 種類 | 使う数字・文字 | 桁上がりのタイミング | 主な用途 |
|---|---|---|---|
| 10進数 | 0 〜 9 | 9 の次 | 普段の生活 |
| 2進数 | 0, 1 | 1 の次 | コンピュータ内部 |
| 16進数 | 0〜9, A〜F | F の次 | WEB色指定, メモリ |
数字は0〜9の「10個」しかありません。でも16進数には「16個」の文字が必要です。
足りない6個分を、アルファベットで代用しています。
- 10 → A
- 11 → B
- 12 → C
- 13 → D
- 14 → E
- 15 → F
F(15)の次で桁上がりして「10(イチゼロ)」になります。
3. 【計算】他進数から10進数へ(バラして足す)
2進数や16進数を、私たちに馴染みのある10進数に戻す方法です。
「位の重み(桁の価値)」を掛けて、全部足し合わせます。
例題:2進数「101」を10進数へ
1 0 1 × × × 2² 2¹ 2⁰ (4) (2) (1) ↓ ↓ ↓ 4 + 0 + 1 = 5 答え: 5
右端から順に「1倍、2倍、4倍、8倍...」と重みが増えていくイメージです。
4. 【計算】10進数から他進数へ(割り算)
逆に、10進数を2進数や16進数にするには、「すだれ算(逆割り算)」を使います。
例題:10進数「13」を2進数へ
2で割り続け、余りを記録していきます。
2 ) 13
2 ) 6 ... 余り 1 ↑
2 ) 3 ... 余り 0 | 下から
2 ) 1 ... 余り 1 | 上に読む
0 ... 余り 1 |
答え: 1101
「商が0になるまで」続けるのがポイントです。16進数にしたい場合は、16で割り続けます。
5. 【裏技】2進数と16進数の変換(4桁区切り)
情報処理試験やプログラミングの実務で最も重要なのがこれです。
ここには計算不要の裏技があります。
例題:2進数「11011011」を16進数へ
計算はしません。4つずつ区切って、対応するものに置き換えるだけです。
- 4桁で区切る:
1101|1011 - それぞれ変換:
D(13) |B(11) - くっつける:
DB
まとめ
進数変換は、一度仕組みを理解してしまえば、パズルのように解くことができます。
- 他進数 → 10進数: 掛けて足す(重み)
- 10進数 → 他進数: 割って余りを並べる
- 2進数 ↔ 16進数: 4桁ごとに変換(計算不要)
まずはこの3つのルールを覚えておけば、基本情報技術者試験や実務の基礎としては十分です。
慣れないうちは、計算ミスを防ぐためにツールを使って検算しながら練習することをおすすめします。
さっそく、色々な数字を変換して遊んでみましょう!
16進数変換ツール