2進数から16進数への変換
ビットをニブル(4ビット)にグループ化して2進数を16進数に変換。4ビットから16進数への対応表とステップごとの実例で学べます。
Binary (Base 2) → Hexadecimal (Base 16)Conversion
詳細な説明
2進数から16進数への変換は、各16進数の桁が正確に4ビット(ニブル)に対応するため、コンピューティングにおいて最も簡単で便利な変換のひとつです。この関係は 2⁴ = 16 に由来します。
ステップごとの例 --- 11010110101 を16進数に変換:
- 先頭にゼロを追加してビット数を4の倍数にする:
0110 1011 0101 - 右から左に4ビットのニブルにグループ化:
0110|1011|0101 - 各ニブルを変換表で変換:
0110=6,1011=B,0101=5 - 結合:
0x6B5
したがって 11010110101₂ = 0x6B5 です。
4ビットから16進数への完全な変換表:
| Binary | Hex | Binary | Hex |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | A |
| 0011 | 3 | 1011 | B |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | D |
| 0110 | 6 | 1110 | E |
| 0111 | 7 | 1111 | F |
この表を暗記することは、プログラマーやエンジニアとして最も価値ある学習のひとつです。覚えてしまえば、2進数と16進数の間をほぼ瞬時に暗算で変換できるようになります。
なぜ重要か:
16進数はバイナリデータをコンパクトで読みやすい形式で表示する標準的な方法です。11111111111111111111111111111111 のような32ビットの値はほぼ読めませんが、16進数の等価表現 FFFFFFFF は即座に認識できます。メモリアドレス、MACアドレス、ハッシュ値、カラーコードがすべて16進数を使うのはこのためです。2進数から16進数への変換を習得すれば、デバッグ、リバースエンジニアリング、ハードウェア作業が大幅に速くなります。
ユースケース
ハードウェアエンジニアは、マイクロコントローラのファームウェアをデバッグする際に、2進数のレジスタダンプを16進数に変換します。16進数はマルチバイト値をコンパクトで読みやすく表現できるためです。