2024年4月15日月曜日

16進数の変換方法

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

2進数の数値を16進数の数値に変換する方法は、3つのステップです。
順番通り変換していきましょう。

ステップ1:2進数の数値を4桁の数値に分離
ステップ2:分離した4桁の数を10進数に変換

ステップ3:求めた10進数の値を16進数に変換

【注意】

桁数が4の倍数ではない場合、
4桁に分割するとき、頭から切るか、尻から切るかで値がずれてしまう。
必ずお尻から分割することが大切である。
頭の足りない部分には、頭に0を追加すれば良い。

例1)10111001

ステップ1:2進数の数値を4桁の数値に分離

まずは、4桁に分類する。

1011 1001

ステップ2:分離した4桁の数を10進数に変換

1011を10進数に変換 → 11
1001を10進数に変換 → 9

ステップ3:求めた10進数の値を16進数に変換

11は、16進数でいう B
9は、16進数でいう 9

完成: B9

例2)1011110

ステップ1:2進数の数値を4桁の数値に分離

101 1110

これでは、3桁と4桁になってしまう。
そこで、先頭に0を追加して4桁にそろえる。
頭に0をつけても値は、変わらないのでOK

0101 1110

ステップ2:分離した4桁の数を10進数に変換

0101 → 5
1110 → 14

ステップ3:求めた10進数の値を16進数に変換

5 → 5
14 → E

完成:5E

なぜ?4桁で区切ると上手くいくの?

2進数の4桁は、0000~1111の15種類。
つまり、0~15の値を表現している。
ここに、ポイントがある。
16進数の1桁に入る値は、0~15の16種類である。
つまり、2進数の4桁は、16進数の1桁に相当するのだ。

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

16進数から2進数に変換する方法は、「16進数の1桁が2進数の4桁だ」と理解しておけば簡単。

例)ABC

Aは、10進数でいうところの 10
Bは、10進数でいうところの 11
Cは、10進数でいうところの 12

この3つの数字を変換すると

16進数 → 10進数 → 2進数
A → 10 → 1010
B → 11 → 1011
C → 12 → 1100

並べ直して、完成。
分かりやすいように4桁ずつ空けてみた。

1010 1011 1100