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

各hex桁が正確に4つのバイナリビットにマッピングされる直接的なhex-to-binary変換方法を学びます。即座の変換のためのニブルテーブルをマスターします。

Conversion

Hex

4F = 0100 1111

ASCII

Base-16 → Base-2

詳細な説明

16進数から2進数への変換は、すべての基数変換の中で最も単純です。各hex桁は正確に4つの2進数字(ビット)に直接マッピングされるためです。これは偶然ではなく、16 = 2⁴であるため、16進数はバイナリデータのコンパクトな表記法として特別に設計されました。

ニブルテーブル — これを暗記:

「ニブル」は4ビットのグループです。各hex桁は1つのニブルに対応します:

Hex バイナリ Hex バイナリ
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111

変換方法:

各hex桁をその4ビットバイナリ等価物に置き換えるだけです。算術は不要です。

例 — 4Fをバイナリに変換:

  1. 40100
  2. F1111
  3. 結果: 0100 1111

例 — A3をバイナリに変換:

  1. A1010
  2. 30011
  3. 結果: 1010 0011

例 — FFをバイナリに変換:

  1. F1111
  2. F1111
  3. 結果: 1111 1111(全8ビットセット = 10進数で255)

hexとバイナリが自然にリンクする理由:

1バイト(8ビット)は正確に2つのhex桁で表されます。1つのhex桁は正確に1つのニブル(4ビット)を表します。この1:1マッピングが、hexがバイナリデータの好ましい表記法である理由です — バイナリの4倍コンパクトでありながら、変換パスは自明です。

実用的なアプリケーション:

  • ビットフィールド分析: 0x83のようなhex値がフラグバイトを表す場合、バイナリ(1000 0011)に変換すると、どのビットがセットされているか(ビット7、1、0)が即座にわかる
  • サブネットマスク: マスクFF FF FF 0011111111 11111111 11111111 00000000に変換され、/24プレフィックスが可視化される
  • カラーチャンネル: 1チャンネルのhexカラー#3Cはバイナリで0011 1100

逆変換(バイナリからhex):

バイナリ桁を右から左に4つずつグループ化し、各グループをニブルテーブルで検索します。例えば、1101010011 0101(8ビットにパディング)= hexで35になります。

ユースケース

hexからバイナリへの変換は、CPUレジスタフラグの分析、ネットワークプロトコルビットフィールドの解釈、ファイルパーミッションマスクの理解、ビットレベルでのハードウェア通信のデバッグ時に使用されます。

試してみる — Hex Editor

フルツールを開く