10進数を16進数に変換する方法と16進数を10進数に変換する方法を紹介します。また16進数を0x
表記に変換する方法も紹介します。
目次
10進数を16進数に変換(decimal to hex)
NumberオブジェクトのtoString
関数を用いることで、数値から16進文字列への変換が行えます。第一引数には基数16
を指定します。
var i = 15
i.toString(16) // "f"
(14).toString(16) // "e"
Number(13).toString(16) // "d"
(254).toString(16) // "fe"
16進数を10進数に変換(hex to decimal)
16進数の文字列を10進数の数値に変換するためにはparseInt関数を用います。第一引数に任意の変換文字列を指定し、第二引数に基数16
を指定します。
parseInt("f", 16) // 15
parseInt("F", 16) // 15
parseInt("0xF", 16) // 15
parseInt("-0Xf", 16) // -15
parseInt("fe", 16) // 254
16進表記(0xFF)
専用の関数は用意されていないため、自前でフォーマットする必要があります。
var i = parseInt("fe", 16) // 254
var s = '0x' + i.toString(16).toUpperCase()
s // "0xFE"
必要に応じて、toUpperCase関数で大文字化しましょう。
16進変換用の関数を作っておくと便利です。以下の例はゼロ埋めにも対応しています。
function toHex(v) {
return '0x' + (('0000' + v.toString(16).toUpperCase()).substr(-4));
}