给定一个M进制的数x:
1)求出此数x的10进制值。
2)实现对x向任意的一个非M进制的数的转换。
import java.util.Scanner;
import java.util.Stack;
public class 进制转换 {
public static void main(String[] args) {
System.out.println('0');
System.out.println('9');
System.out.println((int)'A');
System.out.println((int)'F');
//48-57
//65-70
int M=16;
String x="ABCF";
int result=0;
for(int i=x.length()-1;i>=0;i--){
int num=(int)x.charAt(i);
if(num<=57&&num>=48) {
num -= 48;
}else if(num>=65&&num<=70){
num=num-65+10;
}
int temp=1;
for(int j=i;j<x.length()-1;j++) {
temp *= M;
}
result+=temp*num;
}
System.out.println(result);
Scanner s=new Scanner(System.in);
int nm=s.nextInt();
Stack<Integer> stack=new Stack<>();
while(result>0){
stack.push(result%nm);//算出来的n进制的数都已经放进栈里面去了
result /=nm;
}
while(!stack.empty()){
System.out.println(stack.pop());
}
}
}