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

最近回顾了下数据结构及算法,以下是用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);
	}
}

posted on 2011-03-03 11:27  snandy  阅读(3543)  评论(0编辑  收藏  举报