JAVA十六进制转化成十进制
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
一、
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String n=sc.nextLine();
int m=n.length();
int t;
int sum=0;
for(int i=0;i<m;i++) {
switch(n.charAt(i)){
case 'A':t=10;break;
case 'B':t=11;break;
case 'C':t=12;break;
case 'D':t=13;break;
case 'E':t=14;break;
case 'F':t=15;break;
default:t=n.charAt(i)-'0';break;
}
sum+=t*Math.pow(16,m-1-i);
}
System.out.println(sum);
}
}
二,
System.out.println(Long.parseLong(n,16));
System.out.println(Integer.parseInt(n,16));