javascript进制转换
其他进制转十进制
原理 parseInt 或者 Number.parseInt
语法
parseInt(string, radix);
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
二进制11111111 转换为十进制
parseInt('11111111',)
结果为255
十六进制ff 转为 十进制
parseInt('ff',) parseInt('ff',0x10)
结果为255,255
十进制转其他进制
原理 Number.prototype.toString
语法
NumberObject.toString(radix)
radix 可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。
十进制255转换为二进制
255..toString(2) (255).toString(2)
结果为11111111,11111111
十进制255转换为十六进制
255..toString(16) (255).toString(0x10)
结果为ff,ff
非十进制之间的转换
最笨的方法,先转为十进制,然后转为相对应的进制
二进制11111111转为十六进制
parseInt('11111111',2).toString(16) parseInt('11111111',2).toString(0x10)
结果为 ff,ff