js 10进制转换为2至16进制

本文介绍了一段JavaScript代码,用于将十进制数转换为2到16进制之间的任意进制数。该代码通过自定义函数systemFun实现了这一功能,并提供了详细的转换流程说明。

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值