public class Sys { //其他进制转换为10进制 public int toTen(String other,int k){ StringBuilder sb=new StringBuilder(other); String str=sb.reverse().toString(); int length=str.length(); int sum=0; for(int i=0;i<length;i++){ int tar=str.charAt(i)-'0'; sum+=Math.pow(k,i)*tar; } return sum; } //其他进制转换为2进制 public String toTwo(String other,int k){ int sum=toTen(other,k); StringBuilder stringBuilder=new StringBuilder(); while((sum/2)!=0){ stringBuilder.append(sum%2); sum=sum/2; } if(sum==1) stringBuilder.append(1); String result=stringBuilder.reverse().toString(); return result; } public static void main(String[]args){ Sys s=new Sys(); System.out.println(s.toTwo("1211012122101",3)); } }