2数と16進数の変換方法

2進数から16進数、16進数から2進数への変換方法について説明します。

2進数から16進数への変換

 2進数は、0と1しか数字がありません。このため、1 + 1は10となり繰り上がりします。

 16進数は、0からFまでの数字があります。このため、F + 1で10となり繰り上がりします。

 以下は、2進数の3つの数字を取り上げ、16進数に変換した時の対応表です。

【3つの2進数を16進数に変換した対応表】
2進数 1111 1111 1111 1111 1111 1111
16進数 F FF FFF

 2進数の4桁(1111)までが16進数の1桁(F)、8桁(1111 1111)までが16進数の2桁(FF)、12桁(1111 1111 1111)までが16進数の3桁(FFF)になる事が分かります。つまり、2進数の4桁が16進数の1桁に該当する事になります。

2進数の4桁が16進数の1桁に対応する

 2進数の1〜4桁で数字が変わっても、16進数に影響があるのは1桁目だけです。例えば、2進数の10 0000は16進数で20になりますが、10 0001は16進数で21になり、1桁目だけが変わります。又、5桁目〜8桁目で数字が変わると、16進数の2桁目が変わります。

2進数の1〜4桁目は16進数の1桁目、5〜8桁目は2桁目に影響する

 このように、2進数の各4桁が16進数の1桁の数字に影響するため、16進数への変換では2進数を4桁毎に区切って計算すれば良い事が分かります。

 又、4桁の2進数から16進数への変換ですが、一旦10進数に変換します。2進数の各桁は、10進数では以下の数字が対応します。

【4桁の2進数各桁が対応する10進数の数字】
2進数 1 10 100 1000
10進数 1 2 4 8

 この10進数の1、2、4、8だけを使って計算します。例えば、2進数1010であれば1000と10の組み合わせのため、対応する10進数を使って8 + 2 = 10となります。これは、16進数でAとなります。

 上の対応表がなくても、2進数で1桁上がると対応する10進数が2倍になると覚えて下さい。そうすれば、1、2、4、8の数字が出てくると思います。(詳細は、「2進数と10進数の変換」をご参照下さい)

 これを基本として、2進数の10 1100 1010 0100を16進数に変換してみます。

【2進数から16進数への変換例】
元の数字(2進数) 10 1100 1010 0100
10進数 2 8 + 4 = 12 8 + 2 = 10 4
16進数 2 C A 4

 結果は、2CA4です。

2進数から16進数変換の練習問題

 以下は、変換の練習問題です。2進数の「元の数字」を16進数に変換します。「答え」ボタンをクリックすると答えが表示されます。又、「クリア」ボタンをクリックすると違う問題が出ます。

元の数字:

答え  :

16進数から2進数への変換

 16進数の1桁が2進数の4桁に対応するため、16進数から2進数へ変換するには1桁毎に2進数へ変換すれば良い事になります。

 1桁の16進数をまず10進数で表現します。16進数では、10進数の0〜15が1桁で表せます。これを、先ほどの1、2、4、8だけ使って足し算して表します。

 例えば、16進数のCであれば10進数で12なので、8 + 4です。1、2、4、8は2進数では以下が対応します(先ほどの対応表とは逆です)。

【10進数1、2、4、8が対応する2進数】
10進数 1 2 4 8
2進数 1 10 100 1000

 8が1000、4が10に対応するため、1000 + 10 = 1010になります。2進数の足し算は、10進数と同じです。又、既に説明したように、10進数で2倍になると対応する2進数が1桁上がると覚えておけば、上の表がなくても計算出来ます。

 これを基本として、16進数のC1A8を2進数に変換してみます。

【16進数から2進数への変換例】
元の数字(16進数) C 1 A 8
10進数 12 = 8 + 4 1 10 = 8 + 2 8
2進数(式) 1000 + 100 0001 1000 + 10 1000
2進数(結果) 1100 0001 1010 1000

 結果は、1100 0001 1010 1000です。

16進数から2進数変換の練習問題

 以下は、変換の練習問題です。2進数の「元の数字」を10進数に変換します。「答え」ボタンをクリックすると答えが表示されます。又、「クリア」ボタンをクリックすると違う問題が出ます。

元の数字:

答え  :

  • このエントリーをはてなブックマークに追加