16進数→2進数変換ツールの使い方
3Fや0xDEADのような16進数を入力します。1行に1つずつ並べたリストを貼り付けることもできます。- 2進数の結果がすぐに表示されます。桁区切りにチェックを入れるとニブルごとに区切られ、符号付きにチェックを入れると8・16・32・64ビットになるよう0で埋められます。
- 16進数の各桁が4ビットに置き換わる計算過程を確認し、2進数の値をコピーします。
16進数・2進数の対応表
16進数の1桁は、ニブルと呼ばれる4ビットのグループ1つに対応します。この表を覚えるかブックマークしておけば、どんな16進数も手作業で2進数に変換できます。
| 16進数 | 2進数 | 10進数 |
|---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
A | 1010 | 10 |
B | 1011 | 11 |
C | 1100 | 12 |
D | 1101 | 13 |
E | 1110 | 14 |
F | 1111 | 15 |
16進数を2進数に変換する方法
16 = 2⁴なので、16進数の1桁は常にちょうど4ビット、2桁で1バイトを表します。変換するには、各桁を表の4ビットのパターンに置き換えて、順に並べるだけです。
2F9 → 2 = 0010、F = 1111、9 = 1001 → 0010 1111 1001
先頭の0は省略でき、1011111001(10進数で761)となります。ただし途中の0は省略できません。C3は1100 0011であり、11 0011ではありません。
プログラムでは、Pythonならformat(int('2F9', 16), 'b')、JavaScriptならparseInt('2F9', 16).toString(2)(長い値にはBigInt('0x' + hex).toString(2))を使います。Excelの=HEX2BIN("1A", 8)は00011010を返しますが、1FFまでしか扱えません。
よくある質問
16進数の1桁が4ビットになるのはなぜですか?
16 = 2⁴だからです。4ビットの組み合わせは0000から1111までのちょうど16通りで、0からFまでの16進数の各桁に1つずつ対応します。そのため16進数は2進数をコンパクトに書く方法として使われ、2桁で1バイトを表せます。
FFは2進数でいくつですか?
FFは2進数で1111 1111です。1が8つ並んだ、1バイトで表せる最大の値(10進数で255)です。
先頭の0は残すべきですか?
先頭の0は値を変えません。0001 1010も11010もどちらも26です。1バイトやレジスタのように決まった桁数が必要な場合は残しましょう。「桁区切り」または「符号付き」にチェックを入れると、結果が0で埋められます。
小数部分のある16進数も変換できますか?
はい。小数点以下の桁もそれぞれ4ビットに対応するので、1A.8 = 0001 1010.1000 = 2進数の11010.1となり、10進数では26.5です。