js本身可以很简单的做任意进制的转化
核心函数是:
parseInt(str, [radix]) 将字符串 str 按照 radix 进制编码方式转换为10进制返回,radix 默认为10
parseInt(num,8); // 八进制转十进制
parseInt(num,16); // 十六进制转十进制
parseInt(num).toString(8) // 十进制转八进制
parseInt(num).toString(16) // 十进制转十六进制
parseInt(num,2).toString(8) // 二进制转八进制
parseInt(num,2).toString(16) // 二进制转十六进制
parseInt(num,8).toString(2) // 八进制转二
自定义进制转换函数:
function formatNumberRadix(n = 0, radix = 2) {
let arr = [];
while(n >= radix) {
let r = n % radix; // 余数
arr.unshift(r);
if (r == 0) {
n = n / radix;
} else {
n = (n - r) / radix;
}
}
arr.unshift(n);
reutrn arr.join('');
}