10进制转36进制内的任意进制

来源:互联网 发布:js给class设置样式 编辑:程序博客网 时间:2024/05/21 10:41
public class TenTo36 {
    /** 
  * baseString 递归调用 
  * @param num 十进制数 
  * @param base 要转换成的进制数 
  */ 
  public static String baseString(int num,int base) { 
  String str = "", digit = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
  if(num == 0){ 
  return ""; 
  }else { 
  str = baseString(num / base,base); 
  return str + digit.charAt(num % base); 
  } 
  }
  
  public static String baseString(BigInteger num,int base) { 
  String str = "", digit = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
  if(num.shortValue() == 0){ 
  return ""; 
  }else { 
  BigInteger valueOf = BigInteger.valueOf(base);
str = baseString(num.divide(valueOf),base); 
  return str + digit.charAt(num.mod(valueOf).shortValue()); 
  } 
  }
  
public static void main(String[] args) {
    System.out.println(baseString(1295,36));
    BigInteger big=new BigInteger("999999999999");
    System.out.println(baseString(big,36));
}
}
0 0
原创粉丝点击