十进制与十六进制相互转换
程序员文章站
2022-03-13 17:45:30
...
十进制与十六进制相互转换
题目:实现十进制与十六进制的相互转换
/**
* @author XTU熊大
*自定义两个方法实现
*十六进制转换成十进制
*十进制转换成十六进制
*/
public class HexToDecimal {
public static void main(String[] args){
System.out.println("输入一个数字:");
Scanner in= new Scanner(System.in);
int shu=in.nextInt();
System.out.println("对应十六进制数为:"+decimalToHex(shu));
System.out.println("对应十进制数为:"+hexToDecimal(decimalToHex(shu)));
}
/**
* 十进制转十六进制
* @param shu 将要转换的十进制数
* @return 对应数字的十六进制
*/
public static String decimalToHex(int shu) {
// TODO Auto-generated method stub
int temp;
String hex="";
while(shu>0){
temp=shu%16;
shu=shu/16;
if(temp>=1&&temp<=9){
hex=temp+hex;
}else{
hex=(char)(temp-10+'A')+hex;
}
}
return hex;
}
/**
* 十六进制转十进制
* @param hex 要进行转换的十六进制的数
* @return 对应的十进制数
*/
public static int hexToDecimal(String hex){
int shu=0;
for(int i=0;i<hex.length();i++){
char f=hex.charAt(i);
if(f>='0'&&f<='9'){
shu+=(f-'0')*Math.pow(16, hex.length()-i-1);
}else{
shu+=(f-'A'+10)*Math.pow(16, hex.length()-i-1);
}
}
return shu;
}
}