前言
在c语言中,进制之间的转换,基本上是靠辗转相除法。转换的种类一般分为三种:
- 10进制转换为其x进制 (x,y不为10,且x!=10)
- x进制转换为十进制
- x进制转换为y进制
在js中,有俩个方法的巧妙利用,可以快速实现进制之间的转换。
1 | Number.toString()函数返回表示该数字的指定进制形式的字符串。 |
- 注意:Number.toString()是Number包装类型的方法。“继承”于Object.toString(),但是已经重写了这个方法。
1 | parseInt(string, radix) |
如何转换
10进制转换为其x进制
var x=110;
alert(x);
alert(x.toString(8));
alert(x.toString(32));
alert(x.toString(16));
x进制转换为十进制
var x=’110’;
alert(parseInt(x,2));
alert(parseInt(x,8));
alert(parseInt(x,16));
x进制转换为y进制
- 先用parseInt转成10进制再用toString转到目标进制
alert(String.fromCharCode(parseInt(141,8)))
alert(parseInt(‘ff’,16).toString(2));
注意事项
这种方法只适用于[2-32]之间进制的转换。超过范围之后,还需要自己写方法。