javascript进制转换

其他进制转十进制

原理 parseInt 或者 Number.parseInt

语法

parseInt(string, radix);
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

  1. 二进制11111111 转换为十进制
parseInt('11111111',2)

结果为255

  1. 十六进制ff 转为 十进制
parseInt('ff',16)
parseInt('ff',0x10) 

结果为255,255

十进制转其他进制

原理 Number.prototype.toString

语法

NumberObject.toString(radix)
radix 可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。

  1. 十进制255转换为二进制
255..toString(2)           
(255).toString(2)

结果为11111111,11111111

  1. 十进制255转换为十六进制
255..toString(16)           
(255).toString(0x10)

结果为ff,ff

非十进制之间的转换

最笨的方法,先转为十进制,然后转为相对应的进制

  1. 二进制11111111转为十六进制
parseInt('11111111',2).toString(16)
parseInt('11111111',2).toString(0x10)

结果为 ff,ff

posted @ 2017-10-07 14:34  -云-  阅读(276)  评论(0编辑  收藏  举报