Menu

2進数から16進数への変換ツール

2進数を入力すると16進数で表示され、その下に4ビットずつのグループが並びます。最初はD6になる11010110が入っています。

著者 Nethanel Bar, Co-founder & CEO

最終更新

本気でプログラミングを学びませんか?

Coddyはブラウザ上で実際にコードを書きながら学ぶサービスです。インタラクティブなレッスン、即時フィードバック、行き詰まったときのAIサポート付き。

2進数を16進数に変換する方法

4ビットの組み合わせは16通りで、16進数の桁の数と同じなので、4ビットのグループはそれぞれちょうど1桁の16進数になります。グループがそろうのは右側なので、右から区切ります。左端のグループが4ビットに満たなければ、前に0を足します。

グループを1桁に直すには、1がある位の重み(8、4、2、1)を足します。1101 は 8 + 4 + 1 = 13 でD、0110 は 4 + 2 = 6 です。

プログラマーがバイナリデータを16進数で書くのはこのためです。32ビットの値は読みにくい32個のビットですが、16進数ならわずか8桁です。

ビットのグループ分けについて知っておきたいこと

  • グループ分けは必ず右端、つまり最下位の側から始めます。
  • グループの中の位の重みは8、4、2、1です。
  • 10〜15の値はA〜Fになります。1010はA、1111はFです。
  • 4つではなく3つずつに区切ると8進数になります。chmod の数字はこの仕組みです。

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

1バイト

2進数

11010110

16進数

D6

1101は13でDと書き、0110は6です。

短い数

2進数

101

16進数

5

0で埋めて0101にすると5です。

9ビット

2進数

1 0110 1011

16進数

16B

右から区切ると左端に1が1つ残ります。0001と埋めて1になります。

すべて1

2進数

1111 1111 1111 1111

16進数

FFFF

どのグループも1111なので、どの桁もFです。これは16ビットの最大値65535です。

2進数を16進数に変換するときのよくある間違い

  • 左から区切ってしまう。10110 を左から区切ると1011と余った0になりますが、右から区切れば0001 0110で、16です。
  • 左端のグループを0で埋めずに読んでしまう。
  • 10〜15をA〜Fの文字ではなく2桁で書いてしまう。
  • グループ内のビットを逆順に読んでしまう。グループの左端のビットの重みは8です。

2進数から16進数への変換:よくある質問

2進数の1111は16進数でいくつ?
Fです。1111は 8 + 4 + 2 + 1 = 15 で、15はFと書きます。
2進数の10000000は16進数でいくつ?
80です。グループは1000と0000で、それぞれ8と0です。
Pythonで2進数を16進数に変換するには?
hex(int('11010110', 2)) は '0xd6' を返します。JavaScriptでは parseInt('11010110', 2).toString(16) が 'd6' を返します。
なぜビットを4つずつ区切るの?
2 × 2 × 2 × 2 = 16 だからです。4ビットのグループはちょうど16進数1桁に当たるので、変換は表を引くだけで、ほかの計算はいりません。

詳しく見る

その他の開発者ツール

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める