/** * 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