您的位置:首页 > 其它

十六进制转十进制

2016-03-10 22:20 211 查看
问题描述

  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

样例输入

FFFF

样例输出

65535
import java.util.Scanner;
public class HexToDecimal {

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String hex = sc.next();
System.out.println(hextoDecimal(hex));
}

public static long hextoDecimal(String hex){
long decimal = 0;
for(int i=0; i<hex.length(); i++){
char hexChar = hex.charAt(i);
decimal = decimal * 16 + toDecimal(hexChar);
}
return decimal;
}

public static long toDecimal(char ch){
if(ch >= 'A' && ch <= 'F')
return 10 + ch - 'A';
else
return ch - '0';
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: