10進数から16進数への変換
16で割る繰り返し除算を使って10進数を16進数に変換。実例、余りから A-F へのマッピング、プログラミングでの便利なショートカットを解説します。
詳細な説明
10進数から16進数への変換は、10進数から2進数と同じアプローチですが、2の代わりに16で割ります。各除算後、10-15の余りは文字 A-F で表記します。
ステップごとの例 --- 7531 を16進数に変換:
- 7531 ÷ 16: 商 = 470, 余り = 11 (B)
- 470 ÷ 16: 商 = 29, 余り = 6
- 29 ÷ 16: 商 = 1, 余り = 13 (D)
- 1 ÷ 16: 商 = 0, 余り = 1
余りを下から上に読みます: 1D6B。したがって 7531₁₀ = 0x1D6B です。
素早い変換のコツ:
小さな数値の場合は、主要な値を暗記すると便利です。16進数の 0-15 は 0-9 の次に A-F に対応します。16の倍数はきれいに変換できます: 16=0x10, 32=0x20, 48=0x30 など。255 のような数は 0xFF に変換されます。255 = 15×16 + 15 だからです。
余りから16進数への対応表:
| 余り | 16進数の桁 |
|---|---|
| 0-9 | 0-9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
コードでの検証:
JavaScript では (7531).toString(16) が "1d6b" を返します。Python では hex(7531) が "0x1d6b" を返します。ほとんどのプログラミング言語はデフォルトで小文字の16進数を出力しますが、大文字小文字は値に影響しません。
10進数から16進数への変換は、メモリアドレスの設定、CSSでの色値の定義、ハードウェアレジスタ値の記述、バイナリデータの人間が読める形式へのエンコードに欠かせません。ソフトウェア開発やシステムプログラミングで最も頻繁に使われる変換のひとつです。
ユースケース
フロントエンド開発者は、10進数の RGB 値(65、105、225 など)を16進数に変換し、Royal Blue の #4169E1 のような CSS カラーコードを構成します。