2進数と16進数の変換は「4桁区切り」で一瞬!計算方法と対応表【練習問題付】
コンピュータの基礎を勉強していると、必ずぶつかるのが2進数と16進数の相互変換です。
「いちいち10進数に戻してから計算しないといけないの?」と思っていませんか?
実は、この2つの相性は抜群で、割り算や掛け算を一切使わずに、パズル感覚で瞬時に変換できる裏ワザが存在します。エンジニアは全員この方法を使っています。
この記事では、計算ミスをゼロにする「4桁区切り」のテクニックと、便利な対応表を紹介します。
なぜ16進数⇔2進数は簡単なのか?
結論から言うと、「2進数の4桁が、ちょうど16進数の1桁(0〜F)に対応しているから」です。
- 2進数の
0000= 16進数の0 - 2進数の
1111= 16進数のF(10進数の15)
つまり、どれだけ長い2進数であっても、4桁ずつチョキチョキ区切ってしまえば、それぞれを単純に置き換えるだけで変換が完了するのです。
2進数から16進数への変換手順
では、実際にやってみましょう。
例題:2進数 10110110 を16進数に変換します。
ステップ1:後ろから4桁ずつ区切る
10110110 ↓ 1011 | 0110
※もし桁数が足りない場合は、先頭に0を補ってください(例:110 → 0110)。
ステップ2:それぞれのブロックを16進数にする
それぞれのブロックを「8-4-2-1」の重みで計算します。
左ブロック [1011]: 8 + 0 + 2 + 1 = 11 11は16進数で「B」 右ブロック [0110]: 0 + 4 + 2 + 0 = 6 6は16進数で「6」
ステップ3:合体させる
答えは B6 です。簡単ですよね!
16進数から2進数への変換手順
逆のパターンも全く同じ考え方です。
例題:16進数 3C を2進数に変換します。
ステップ1:1桁ずつバラバラにする
3C ↓ 3 と C
ステップ2:それぞれを4桁の2進数にする
ここでも「8-4-2-1」を使います。
「3」を2進数で: 0011 (2+1) 「C」(=12)を2進数で: 1100 (8+4)
ステップ3:合体させる
並べて書けば完成です。
答え: 00111100
【保存版】相互変換 早見表
この表を覚えておくと(あるいはブックマークしておくと)、試験や開発の効率が劇的に上がります。
| 16進数 | 2進数 (4桁) | 10進数 |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| A | 1010 | 10 |
| B | 1011 | 11 |
| C | 1100 | 12 |
| D | 1101 | 13 |
| E | 1110 | 14 |
| F | 1111 | 15 |
練習問題にチャレンジ
理解できたか確認してみましょう。
Q1. 2進数「11110001」を16進数にせよ
答えを見る(クリックして展開)
解説:1111 → F, 0001 → 1
Q2. 16進数「A5」を2進数にせよ
答えを見る(クリックして展開)
解説:A → 1010, 5 → 0101
まとめ
2進数と16進数の変換に、複雑な計算は不要です。
- 4桁ずつ区切るのが鉄則
- 0〜F の対応パターンを覚える(または表を見る)
この仕組みを理解していれば、基本情報技術者試験やWebデザイン(カラーコード)の理解がぐっと深まります。
大量の計算や検算には、ミスが起きないツールを使うのがおすすめです。
16進数変換ツール