FE EXAM

16進数 → 2進数(各桁を4ビットに展開)

16進数の各桁(0〜F)を、対応する4ビットの2進数に展開して連結するだけ。8進→2進の「3ビット展開」と同じ発想で、16進では4ビットになります。

INTERACTIVE VISUALIZATION
16進数
2進数
16進数 (入力)
0x1B3E
桁数 × 4
4 × 4 = 16
2進数 (結果)
1101100111110(2)
16進数を入力
プリセット
各 16進数の桁を、対応する4ビットの2進数に展開して連結します。A=1010, B=1011, ..., F=1111 の対応を覚えれば瞬時に変換できます。
STEP 1: 各桁を4ビットの2進数に展開
1
=1
0
0
0
1
B
=11
1
0
1
1
3
=3
0
0
1
1
E
=14
1
1
1
0
STEP 2: 連結(必要なら先頭の0を除去)
連結: 0001101100111110
先頭の不要な 0 を除去: 1101100111110
1B3E(16) = 1101100111110(2)
解説

📌
16進→2進変換とは

16進数 → 2進数は、コンパクトな16進数表記をビット列に展開する操作です。各桁をそのまま4ビットに展開するだけで、計算らしい計算がいりません。

例:
A(16) = 1010(2)
FF(16) = 11111111(2)(1111+1111)
1B3E(16) = 1101100111110(2)(0001+1011+0011+1110→先頭0除去)

この変換が綺麗にできるのは、2⁴ = 16 という関係のおかげ。「2進4桁=16進1桁」というぴったりの対応があるので、桁ごとの展開だけで済みます。

🛠
各桁を4ビットに展開する手順

手順は2つだけです。
・① 各桁を4ビットの2進数に変換(先頭の0は省略しない)
・② 左から順に連結し、必要なら先頭の0を除去

16通りの対応(暗記推奨):

16進10進2進4桁
000000
110001
220010
330011
440100
550101
660110
770111
881000
991001
A101010
B111011
C121100
D131101
E141110
F151111

🔤
A〜Fの2進4桁表現

16進→2進変換でつまずきやすいのが「A〜F の展開」です。0〜9 は10進と同じ感覚で扱えますが、A〜F は10〜15 の数字として扱い、それを4ビットの2進数に変換します。

A〜F の 4ビット表現(完全暗記):

A = 10 = 1010
B = 11 = 1011
C = 12 = 1100
D = 13 = 1101
E = 14 = 1110
F = 15 = 1111

覚え方のコツ:
A(=10)= 1010 から始まり、1ずつ増えるごとに最下位ビットが交互に変化
F = 1111(4ビット全部1) が最大
・各値は「8 + 何か」の形(A〜F は全て 8 以上)→ 最上位ビットが必ず 1

変換例(A〜F を含む):

CAFE(16) を2進数に
C → 1100
A → 1010
F → 1111
E → 1110
─────────────────────────
連結 = 1100 1010 1111 1110(2)

よくあるミス:
・「A」をそのまま「A」と書いて変換できなくなる(必ず 10 → 1010 に頭で置き換える)
・先頭の 0 を省略してしまう(A=1010 の左の 1 から書くべきところを「10」と書くと2ビットになってしまう)
・大文字小文字で混乱する(実際にはFFffは同じ値)

覚えると便利な対応:
FF = 11111111(1バイト最大)
7F = 01111111(符号付き8bit整数の最大)
80 = 10000000(符号付き8bit整数の最小ビット)
#FF0000 = 11111111 00000000 00000000(CSSの赤)
0xDEADBEEF = 11011110 10101101 10111110 11101111(有名なマジックナンバー)

関連コンテンツ