JavaScript二进制、八进制和十六进制数值

JavaScript 支持把十进制数值转换为二进制、八进制和十六进制等不同进制的数值。

示例1

十六进制数值以“0X”或“0x”作为前缀,后面跟随十六进制的数值直接量。
var num = 0x1F4;  //十六进制数值
document.write(num);  //返回 500

十六进制的数值是 0~9 和 a~f 的数字或字母任意组合,用来表示 0~15 之间的某个字。

JavaScript 中,可以使用 Number 的 toString(16) 方法把十进制整数转换为十六进制字符串的形式表示。

示例2

八进制数值以数字 0 为前缀,其后跟随一个八进制的数值直接量。
var num = 0764;  //八进制数值
document.write(num);  //返回 500

二进制数值以“0B”或“0b”作为前缀,后面跟随二进制的数值直接量。例如:

0b11  //等于十进制的 3

注意:

  • 八进制或十六进制的数值在参与数学运算之后,返回的都是十进制数值。
  • 考虑到安全性,不建议使用八进制数值,因为 JavaScript 可能会误解为十进制数值。
  • 各主流浏览器对二进制数值表示方法的支持不是很统一,应慎重使用。