Hexadecimal
16 進法(Hexadecimal)は 0-9 と A-F で 0-15 を表す基数 16 の記数法であり、計算機で最もよく使われる進数表記の一つである。
目的
バイナリデータをよりコンパクトに、バイト境界で整列して表現する——16 進 1 桁がちょうど 4 ビットに対応する——ため、人間にとって読みやすく、ハードウェアやプロトコルのフィールドと整合する。
メカニズム
16 進 1 桁は 4 ビット(ニブル)に対応する。値は位取りの重みで展開される:N = d_n×16^n + ... + d_0×16^0。1 バイトの上位・下位ニブルがそれぞれ 16 進 1 文字になる。
ユースケース
- メモリアドレスやレジスタ値のデバッグ出力
- 色の値(#FF8800)
- ネットワークプロトコルのフィールド
- アセンブリの機械語表示
例
- 入力
255OutputFF255 = 15×16 + 15
よくあるエラー
- Using a leading 0x in JSON numbers (JSON has no hexadecimal literals)
- Store hexadecimal as strings or use decimal numbers