2進数→16進数変換ツールの使い方
1101 0110や0b11010110のような2進数を貼り付けるか、入力します。複数の数値を1行ずつ入力すると、まとめて変換できます。- 入力と同時に16進数の値が10進数・8進数とあわせて表示されます。結果の下の計算過程で、ビットの区切り方を確認できます。
- 16進数の結果をコピーします。入れ替えボタンを押すと、16進数から2進数への変換に切り替わります。
2進数を16進数に変換する方法
- 2進数を右から4ビットずつのグループに区切ります(小数の場合は小数点を基準に、左右それぞれ外側へ区切ります)。
- いちばん左のグループが4ビットに満たない場合は、左側に0を補います。
- 各グループを下の対応表に従って16進数の1桁に置き換えます。
例:1011111001 → 0010 1111 1001 → 2、F、9 → 2F9。1バイトならさらに簡単で、1100 0011 = C3です。
2進数・16進数の対応表
| 2進数 | 16進数 | 2進数 | 16進数 |
|---|---|---|---|
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進数で書く理由
長い2進数は読みにくく、入力ミスも起こりがちです。16進数の1桁はちょうど4ビットに対応するため、桁数は4分の1になり、しかもビットパターンをそのまま読み取れます。32ビットの値1101 1110 1010 1101 1011 1110 1110 1111も、16進数ならDEADBEEFと書くだけです。メモリアドレス、カラーコード、MACアドレス、ファイルシグネチャ、機械語が16進数で表記されるのはこのためです。
よくある質問
ビット数が4の倍数でない場合はどうすればよいですか?
4の倍数になるまで左側に0を補います。101は0101 = 5、11010は0001 1010 = 1Aになります。先頭に0を加えても値は変わりません。
2進数の11111111は16進数でいくつですか?
11111111は16進数でFFです。2つのグループ1111と1111がどちらもFになるためです。10進数では255です。
Python・JavaScript・Excelで2進数を16進数に変換するには?
Pythonではformat(int('11010110', 2), 'X')でD6が返ります。JavaScriptではparseInt('11010110', 2).toString(16)でd6が返ります。Excelでは=BIN2HEX("11010110")を使いますが、扱えるのは最大10ビットまでです。
2進数の小数も16進数に変換できますか?
はい。小数点以下のビットは左から右へ4ビットずつ区切り、最後のグループは右側に0を補います。16進数では0.1011 = 0.B、110.01 = 6.4となります。