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
示例3
利用toString(radix)方法可以将数字转为二进制字符串,radix表示要转为几进制
var num = 10;
console.log(num.toString(2))//1010
注意:
八进制或十六进制的数值在参与数学运算之后,返回的都是十进制数值。
考虑到安全性,不建议使用八进制数值,因为 JavaScript 可能会误解为十进制数值。
各主流浏览器对二进制数值表示方法的支持不是很统一,应慎重使用。