16進数から2進数への変換
各16進数の桁を4ビットに展開して16進数を2進数に変換。完全なニブル対応表と、開発者向けの実践的な変換例を掲載しています。
Hexadecimal (Base 16) → Binary (Base 2)Conversion
詳細な説明
16進数から2進数への変換は、2進数から16進数の逆であり、同様に簡単です。各16進数の桁は正確に4ビットに展開されるため、変換は純粋に機械的な作業です。
ステップごとの例 --- 0xA7E2 を2進数に変換:
- 各16進数の桁を個別に取り出す:
A,7,E,2 - 各桁を4ビットの2進数に変換:
A = 10107 = 0111E = 11102 = 0010
- 連結:
1010 0111 1110 0010
したがって 0xA7E2 = 1010011111100010₂ です。
なぜ16進数から2進数の変換がこれほど直接的か:
16進数の優れた点は、2進数の省略表記として設計されたことです。16 = 2⁴ なので、すべての16進数の桁は固有の4ビットパターンに対応します。算術は一切不要で、単純な参照だけです。これが16進数がコンピューティングでバイナリデータを表示する世界標準になった理由です。
実用的な応用:
- 機械語の読解: 逆アセンブラは命令を16進数で表示します。2進数に変換すると、個々のオペコードビットやアドレッシングモードが見えるようになります。
- ネットワークパケットの分析: Wireshark などのツールではプロトコルフィールドが16進数で表示されます。2進数に変換すると個々のフラグビットが明らかになります。
- パーミッションの理解: 16進数の Unix ファイルパーミッション(
0x1FFなど)は、2進数(111111111)で見ると読み取り/書き込み/実行ビットが明確になります。 - 色の操作: 16進数カラー
#FF8040は2進数で11111111 10000000 01000000となり、ビット単位の色操作を行う際に役立ちます。
速度向上のコツ:
16進数の 0-F の2進数等価を暗記しましょう。特に 0=0000、5=0101、A=1010、F=1111 は最も頻繁に登場するので重点的に覚えましょう。練習すれば、32ビットの16進数値を数秒で各桁を頭の中で展開して2進数に変換できるようになります。
ユースケース
セキュリティ研究者は、16進数でエンコードされたシェルコードを2進数に展開し、個々の命令ビットを分析してマルウェアサンプルのエクスプロイト手法を特定します。