4ビットのルール
16進数では0~9とA~Fの16種類の記号を使い、Aは10、Fは15を表します。2進数4ビットでは0から15までを表せるため、16進数の各桁は必ず4ビットの1グループに対応します。
| 16進数 | 2進数 | 16進数 | 2進数 |
|---|---|---|---|
| 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 |
例:24D₁₆を変換する
- 16進数を各桁に分けます:2、4、D。
- 各桁に対応する4ビットを確認します:2 → 0010、4 → 0100、D → 1101。
- 同じ順番でグループをつなげます:24D₁₆ = 0010 0100 1101₂。
確認すると、24D₁₆は10進数で589です。また、0010 0100 1101₂も589になります。4ビットごとに区切ると、変換結果を確認しやすくなります。
先頭のゼロが重要な理由
各桁を変換するときは4ビットすべてを残します。この方法では2は10ではなく0010です。先頭のゼロは数値を変えませんが、各16進数の桁を4ビットのグループにそろえます。バイト、ビットフィールド、固定幅の値を読むときに重要です。
たとえば、0A₁₆は0000 1010₂になります。通常の最短表記だけが必要なら、グループをつなげた後で全体の先頭にあるゼロを削除できます。ただし、グループの途中にあるゼロは削除しないでください。
桁数の多い値を間違えずに変換する
- 左から右へ、一度に1桁ずつ置き換えます。
- ゼロも含め、各結果を必ず4ビットにします。
- 確認しやすいようにグループの間にスペースを入れます。出力先で連続した文字列が必要な場合にだけ、スペースを削除してください。
- 入力に0xのような接頭辞がある場合、値だけを受け付ける変換ツールに入力する前に接頭辞を削除します。
すぐ確認するには、UsefulVerse の基数変換ツールを使うと、2~36の基数間で整数をブラウザ内で変換できます。入力の基数に16進数、出力の基数に2進数を選択してください。値はお使いの端末内に保たれます。