数学やプログラミングの学習を進める中で、16進数と10進数の変換につまずく方は少なくありません。
特に情報処理技術者試験やプログラミングの現場では、16進数・10進数・2進数を自在に変換できるスキルが求められる場面が多くあります。
「どういう計算手順で変換するの?」「2進数との関係はどうなっているの?」といった疑問をお持ちの方も多いのではないでしょうか。
本記事では、16進数は10進数に変換するには(10進数から16進数への換算)?16進数・10進数・2進数の変換方法を例題付きで解説!というテーマのもと、それぞれの変換手順をわかりやすくまとめました。
例題や表を交えながら丁寧に解説しますので、ぜひ最後までご覧ください。
16進数と10進数・2進数の変換は「位取り記数法」の理解が鍵
それではまず、16進数・10進数・2進数の変換における最も重要な考え方について解説していきます。
これらの変換をスムーズに行うためには、「位取り記数法」の概念をしっかり押さえることが大切です。
位取り記数法とは、数値を表す際に「桁(位)ごとに重みをつける」方式のことを指します。
私たちが日常的に使っている10進数は「0〜9」の10種類の数字を使い、桁が上がるごとに10倍の重みがかかる仕組みです。
一方、2進数は「0と1」の2種類、16進数は「0〜9とA〜F」の16種類の文字を使って数値を表現します。
各記数法の基数と使用する文字はこちらです。
2進数(基数2):0、1
10進数(基数10):0〜9
16進数(基数16):0〜9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)
16進数でA〜Fが使われるのは、1桁で10〜15を表す必要があるためです。
この対応関係を覚えておくことが、変換計算の第一歩といえるでしょう。
以下の表に、16進数と10進数・2進数の対応関係をまとめましたので、ぜひ参考にしてください。
| 10進数 | 16進数 | 2進数 |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| 10 | A | 1010 |
| 11 | B | 1011 |
| 12 | C | 1100 |
| 13 | D | 1101 |
| 14 | E | 1110 |
| 15 | F | 1111 |
この表は変換の基礎となりますので、手元に置きながら学習を進めると効率的です。
10進数の仕組みをおさらいしよう
10進数では、各桁の数字に「10のn乗」の重みがかかります。
たとえば「345」という数値は、3×100+4×10+5×1 として分解できます。
この考え方がそのまま他の記数法にも応用されるため、まずここをしっかり理解しておきましょう。
2進数の仕組みを確認しよう
2進数では、桁が上がるごとに「2のn乗」の重みがかかります。
たとえば2進数の「1011」は、1×8+0×4+1×2+1×1=11(10進数)という形で計算できます。
桁の重みを意識することが、すべての変換計算の基本となります。
16進数の仕組みを確認しよう
16進数では、桁が上がるごとに「16のn乗」の重みがかかります。
たとえば16進数の「2A」は、2×16+10×1=42(10進数)として計算できます。
AやBなどのアルファベットを数値(A=10、B=11…)に置き換えて計算するのがポイントです。
16進数を10進数に変換する方法(例題付き)
続いては、16進数から10進数への変換方法を確認していきます。
変換の基本は「各桁の数値に16のn乗をかけて合計する」というシンプルなルールです。
手順さえ覚えてしまえば、どんな桁数の16進数でも対応できるようになります。
変換の基本手順
16進数を10進数に変換する手順は以下の通りです。
手順1:16進数の各桁の数値を確認する(A〜Fは10〜15に置き換える)
手順2:右端の桁から順に「16の0乗、16の1乗、16の2乗…」と重みを割り当てる
手順3:各桁の数値に対応する重みをかけ算する
手順4:すべての積を足し合わせる
この4ステップを順番に行うだけで、確実に変換できます。
例題1:16進数「1F」を10進数に変換する
16進数「1F」を10進数に変換してみましょう。
1桁目(右端):F=15、重みは16の0乗=1 → 15×1=15
2桁目:1、重みは16の1乗=16 → 1×16=16
合計:16+15=31
答え:16進数「1F」=10進数「31」
アルファベットを対応する数値に置き換えるのを忘れないようにしましょう。
例題2:16進数「3AC」を10進数に変換する
16進数「3AC」を10進数に変換してみましょう。
1桁目(右端):C=12、重みは16の0乗=1 → 12×1=12
2桁目:A=10、重みは16の1乗=16 → 10×16=160
3桁目:3、重みは16の2乗=256 → 3×256=768
合計:768+160+12=940
答え:16進数「3AC」=10進数「940」
桁数が増えても同じ手順で対応できるのが、この方法の強みです。
10進数を16進数に変換する方法(換算の手順)
続いては、10進数から16進数への変換方法を確認していきます。
こちらは「16で割り続けて余りを並べる」という手順が基本です。
余りを下から上へ並べるのが重要なポイントですので、しっかり意識しながら進めましょう。
変換の基本手順
手順1:10進数の数値を16で割り、商と余りを記録する
手順2:商が0になるまで手順1を繰り返す
手順3:余りを下から上の順(最後の余りが最上位桁)に並べる
手順4:余りが10〜15の場合はA〜Fに置き換える
この手順を丁寧に追うことで、10進数をどんな値でも16進数に変換できます。
例題1:10進数「255」を16進数に変換する
10進数「255」を16進数に変換してみましょう。
255 ÷ 16 = 15 余り 15(F)
15 ÷ 16 = 0 余り 15(F)
余りを下から並べると:FF
答え:10進数「255」=16進数「FF」
「255」は16進数で「FF」になります。プログラミングでもよく登場する値ですね。
例題2:10進数「1000」を16進数に変換する
10進数「1000」を16進数に変換してみましょう。
1000 ÷ 16 = 62 余り 8
62 ÷ 16 = 3 余り 14(E)
3 ÷ 16 = 0 余り 3
余りを下から並べると:3E8
答え:10進数「1000」=16進数「3E8」
余りにアルファベットが含まれる場合も、表を参照しながら落ち着いて対応しましょう。
2進数・16進数・10進数を相互に変換する方法
続いては、2進数・16進数・10進数を相互に変換する方法を確認していきます。
実は、2進数と16進数の変換には非常に便利な性質があります。
2進数4桁がそのまま16進数1桁に対応するため、桁ごとにまとめて変換できるのです。
この性質を活用することで、計算ミスを減らしながら素早く変換できるようになります。
2進数を16進数に変換する方法
2進数を16進数に変換する際は、右端から4桁ずつのグループに分けて変換するのが最も効率的です。
例:2進数「11010110」を16進数に変換する
右から4桁ずつ分ける:1101 | 0110
1101 → 8+4+0+1=13=D
0110 → 0+4+2+0=6
答え:2進数「11010110」=16進数「D6」
4桁ごとにまとめるだけで変換できるので、慣れれば暗算でも対応できるようになります。
16進数を2進数に変換する方法
逆に16進数を2進数に変換する場合は、各桁を4桁の2進数に置き換えるだけです。
例:16進数「B4」を2進数に変換する
B=11 → 1011
4 → 0100
答え:16進数「B4」=2進数「10110100」
各桁を独立して変換できるため、長い2進数を扱う場面でも非常にスムーズです。
10進数・2進数・16進数の変換フローを整理しよう
以下の表に、各記数法間の変換方法をまとめました。
| 変換の方向 | 変換方法 |
|---|---|
| 16進数 → 10進数 | 各桁に16のn乗をかけて合計する |
| 10進数 → 16進数 | 16で割り続けて余りを逆順に並べる |
| 2進数 → 16進数 | 右から4桁ずつグループ化して変換する |
| 16進数 → 2進数 | 各桁を4桁の2進数に置き換える |
| 2進数 → 10進数 | 各桁に2のn乗をかけて合計する |
| 10進数 → 2進数 | 2で割り続けて余りを逆順に並べる |
この変換フローを頭に入れておけば、どの方向の変換も迷わずに対応できます。
変換の際に覚えておきたい重要ポイントはこちらです。
2進数4桁=16進数1桁という対応関係を活用すると計算が格段にラクになります。
16進数のA〜Fは必ず10〜15の数値として計算してください。
余りを使った変換では、余りを「下から上へ」並べることを忘れないようにしましょう。
まとめ
本記事では、16進数は10進数に変換するには(10進数から16進数への換算)?16進数・10進数・2進数の変換方法を例題付きで解説!というテーマで、各変換方法を詳しく解説しました。
変換の基本となるのは、位取り記数法の考え方と各記数法の桁の重みを理解することです。
16進数を10進数に変換する場合は「各桁に16のn乗をかけて合計する」、10進数を16進数に変換する場合は「16で割り続けて余りを逆順に並べる」という手順が基本となります。
また、2進数と16進数の変換では「4桁ごとにグループ化する」という便利な性質を活用することで、効率よく変換が行えます。
今回紹介した例題や変換表を繰り返し活用しながら、ぜひ変換のコツをしっかりと身につけてください。
プログラミングや情報処理の学習において、これらの変換スキルは必ず役に立つはずです。