十六进制

一般十进制转十六进制,都是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以获得正确的颜色值.

 

posted @ 2014-09-09 11:15  ccforeverd  阅读(478)  评论(0编辑  收藏  举报