基础练习 十六进制转十进制

本文介绍如何将十六进制数转换为十进制数。通过输入的十六进制字符串,利用除法和取余的方法,将每个字符转换对应的十进制值,最终相加得到十进制结果。提供的Java代码示例展示了具体实现过程。

思路:十进制为逢十进一,1,2,3,4,5,6,7,8,9,10,11

十六进制:1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

1.将输入的字符串用数组保存起来

十进制与八进制与十六进制之间的转换:直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

八进制或者十六进制转成十进制方法为:把八进制、十六进制数按权展开、相加即得十进制数。

代码如下:

package 基础训练;
import java.util.*;
import java.math.*;
public class 十六进制转十进制 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
char[] arry=new char[10];
//String[] a=new String[10];
String s=in.next();
arry=s.toCharArray();

int len=arry.length;

long sum=0;

for(int i=0;i<len;i++){
long k=(long)Math.pow(16, len-i-1);
switch(arry[i]){
case '0':break;
case '1':sum+=1*k;break;
case '2':sum+=2*k;break;
case '3':sum+=3*k;break;
case '4':sum+=4*k;break;
case '5':sum+=5*k;break;
case '6':sum+=6*k;break;
case '7':sum+=7*k;break;
case '8':sum+=8*k;break;
case '9':sum+=9*k;break;
case 'A':sum+=10*k;break;
case 'B':sum+=11*k;break;
case 'C':sum+=12*k;break;
case 'D':sum+=13*k;break;
case 'E':sum+=14*k;break;
case 'F':sum+=15*k;break;

}
}
System.out.println(sum);
}


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值