从每个十六进制的数字最后一位开始看起,字母需要转化,然后乘以对应的16的N次方。
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str;
while(sc.hasNext()){
str = sc.nextLine();
System.out.println(hToD(str));
}
}
public static int hToD(String str){
int ans = 0;
int len = str.length();
char ch;
for(int i=len-1;i>1;i--){
ch = str.charAt(i);
int chi;
if(ch >= '0' && ch <= '9'){
chi = ch - '0';
}
else{
chi = ch - 'A' + 10;
}
ans += chi * Math.pow(16,len-i-1);
}
return ans;
}
}