`
zhouyrt
  • 浏览: 1171930 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用递归实现十进制数转换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);
	}
}
分享到:
评论
2 楼 zlxzlxzlxzlxzlx 2014-09-04  
这不能算是任意进制之间的转换,例如二十六进制、十二进制又该如何呢???
1 楼 lixinlixin2008 2009-05-16  
还有一个方法,用tostring配合parseint函数的第二个参数也可以实现任意进制的转换

相关推荐

Global site tag (gtag.js) - Google Analytics