/**
* 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);
}
}
以上方法是递归实现十进制到N进制的转换
2、非递归
public class TransToBinary {
public static void main(String[] args){
int number=123;
String a = translate(number);
System.out.println(a);
}
public static String translate(int num){
StringBuffer binary = new StringBuffer();
while(num != 0 && num != 1){
binary.insert(0, num%2);
num = num/2;
if(num ==0 || num==1){
binary.insert(0, num%2);
}
}
return binary.toString();
}
}
输出结果为:1111011