论坛首页 综合技术论坛

用递归实现十进制数转换N进制

浏览 3187 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-18   最后修改:2009-05-25

最近回顾了下数据结构及算法,以下是用java和js实现的十进制数转换N进制。

 

java实现

 

/**
 * baseString 递归调用
 * @param  num 十进制数
 * @param  base 要转换成的进制数
*/
public static String baseString(int num,int base) {
		
	String str = "", digit = "0123456789abcdef";
		
	if(num == 0){
		return "";
	}else {
		str = baseString(num / base,base);			
		return str + digit.charAt(num % base);
	}
}

 

 

js实现

 

/**
 * recursive 递归调用
 * @param {Object} num 十进制数
 * @param {Object} base 要转换成的进制数
 */
function recursive(num, base) {			
	var str = "", digit = "0123456789abcdef";			
	if(num==0){
		return "";
	}else {
             //js除运算不清除小数,用Math.floor清一下
	       str = recursive(Math.floor(num/base),base);
	       return str + digit.charAt(num%base);
	}
}
   发表时间:2009-05-16  
还有一个方法,用tostring配合parseint函数的第二个参数也可以实现任意进制的转换
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics