js 任意进制间转换
1.用到的东西
主要是在做力扣的二进制求和时,刚开始想着能不能纯算法搞定,发现自己在痴心妄想。再想到的是进制间转换再计算之类的。发现自己也不会,查资料自己也记录下吧。
需要用到parseInt(str,radix)与Number.toString(radix)
2.使用举例
parseInt()是将字符串转换为特定进制的数字类型数据,第一个参数是原始的字符串,第二个参数是需要转换的目标进制。第二个参数不传默认是10
console.log(parseInt(‘22’,8)); //18
toString(radix);返回表示该数字的指定进制形式的字符串。(把10进制的数据转为指定进制,并以字符串形式输出);radix支持 [2, 36] 之间的整数。默认为10;
18.toString(16); //“12”
3.拓展(任意进制间转换)
function main(num,m,n){
var s = num+'';
var result = parseInt(s,m).toString(n);
return result;
}
需要注意的是,当num很大很大的时候会出现误差。力扣上的用例测试过的,但是现实中完全是可以的