1.常用的进制方法
注:标红常用
System.out.println(Integer.parseInt("1001",16));//4097 十六进制转化十进制
System.out.println(Integer.valueOf("1001", 16)); //4097 十六进制转化十进制
System.out.println(Integer.parseInt("1001",2));//9 二进制转化十进制
System.out.println(Integer.valueOf("1001", 2)); //9 二进制转化十进制
System.out.println(Integer.toBinaryString(12)); //1100 十进制转换二进制
System.out.println(Integer.toHexString( 15) );//f 十进制转换16进制
System.out.println(Integer.toOctalString( 9) );//11 十进制转换8进制
2.任意进制转化m转n
1)可以先进行m进制转化成十进制,eg:调用Integer.valueOf(str, m)
2)十进制在转换成n进制
public static void baseConversion(String str,int m,int n) {
int num=Integer.valueOf(str,m); //m进制转换成10进制
//栈操作,先进后出将十进制转换成n进制
Stack s = new Stack();
while(num>0) {
s.push(num%n+" ");
num=num/n;
}
while(!s.isEmpty()) {
System.out.print(s.pop());
}
}
public static void main(String[] args) {
System.out.println("输入字符串");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
int m=sc.nextInt();
int n=sc.nextInt();
baseConversion(str,m,n);
}