js 10进制转换为2至16进制,代码如下:
function systemFun(num,sys){//进制转换 ,num 将被转换的10进制数,sys 进行转换的进制变量 (值: 2 --- 16 )
let s=[],num1;
function ShiftFun(num){//变量 s 声明提前了 ,在同一个函数里用的是同一个变量 ---- s
switch(num){//
case 0:s.push("a");break;
case 1:s.push("b");break;
case 2:s.push("c");break;
case 3:s.push("d");break;
case 4:s.push("e");break;
case 5:s.push("f");break;
}
}
if(sys<2 || sys>16){
console.error("只能进行2-16进制的转换");
return ;
}
if(sys>10){//
for(;num>=sys;){
num1 = num%sys
// console.log("num1",num1)
if(num1>=10){
ShiftFun(num1-10);
}else{
s.push(num1);
}
num = parseInt(num/sys);
}
if(num>=10){
ShiftFun(num-10);
}else{
s.push(num);
}
} else {//
for(;num>=sys;){
s.push(num%sys);
num = parseInt(num/sys);
}
s.push(num);
}
s.reverse();//前后颠倒
s=s.join("");//数组合并
// console.log(s);
return s;
}
调用如下:
var res = systemFun(20,16);//16进制 --- 结果14
console.log(res);
本文介绍了一段JavaScript代码,用于将十进制数转换为2到16进制之间的任意进制数。该代码通过自定义函数systemFun实现了这一功能,并提供了详细的转换流程说明。

482

被折叠的 条评论
为什么被折叠?



