コンテンツへスキップ
uencoder

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)
  • ネットワークプロトコルのフィールド
  • アセンブリの機械語表示

例

  • 入力
    255
    Output
    FF

    255 = 15×16 + 15

よくあるエラー

Using a leading 0x in JSON numbers (JSON has no hexadecimal literals)
Store hexadecimal as strings or use decimal numbers

関連用語

関連ツール

References