在平时的学习中,会碰见一些进制的转换,如16进制转成10进制,那么如何在java编程中实现这些实用的功能,简单写一下。
16进制数转化成10进制
这里采用一个switch来实现,把读入的16进制字符串转化成10进制,思想是把读入的字符串的每一位转化成10进制的数字,然后再进行累加算出代表的10进制的数。
public class Main
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
while(scan.hasNext())
{
String str = scan.nextLine();
int sum = 0;
for(int i = 0;i<str.length()-2;i++)
{
sum=sum+trans2int(str.charAt(2+i))*(int)Math.pow(16, str.length()-3-i);
}
System.out.println(sum);
}
}
public static int trans2int(char c)
{
int num = 0;
switch (c)
{
case 'A' : num = 10; break;
case 'B' : num = 11;break;
case 'C' : num = 12;break;
case 'D' : num = 13;break;
case 'E' : num = 14;break;
case 'F' : num = 15;break;
default : num = c-'0';
}
return num;
}
}
其中trans2int 就是把16进制中的字符转化成整数进行计算