十六进制
一般十进制转十六进制,都是16,16的一直除下去,余数就是结果,比如8888转成十六进制就是22b8:
8888 / 16 = 555 ‥‥‥ 8 555 / 16 = 34 ‥‥‥ 11 34 / 16 = 2 ‥‥‥ 2
在js里,有两个常用的地方与十六进制有关,parseInt和toString,都可以用来转换,但结果是不同的,比如:
var num=8888; parseInt(num,16); // 34952 ---- 16进制转10进制 num.toString(16); // "22b8" ---- 10进制转16进制
可见,parseInt是以16进制来解析数值,它会把8888当作是一个16进制数,让后将其转换成对应的10进制;
而toString则相反,会将10进制转换为16进制,有一个小应用如下:
// 随机颜色 parseInt(Math.random()*(parseInt("ffffff",16)+1)).toString(16)
理论上可以随机到0-fffff的所有数,当然,会得到位数小于6的数,需要在前面补0以获得正确的颜色值.