javascript进制转换

其他进制转十进制

原理 parseInt 或者 Number.parseInt

语法

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

  1. 二进制11111111 转换为十进制

    parseInt('11111111',)

    结果为255

  2. 十六进制ff 转为 十进制

    parseInt('ff',)
    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

  2. 十进制255转换为十六进制

    255..toString(16)           
    (255).toString(0x10)

    结果为ff,ff

非十进制之间的转换

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

  1. 二进制11111111转为十六进制

    parseInt('11111111',2).toString(16)
    parseInt('11111111',2).toString(0x10)

    结果为 ff,ff

相关推荐