十进制与十六进制的相互转换
程序员文章站
2022-04-05 08:04:43
...
十六进制转换为 十进制
import java.util.Scanner;
public class Hex2Dec {
public static void main(String[] arge) {
Scanner input=new Scanner(System.in);
System.out.print("输入一个十六进制数:");
String hex=input.nextLine();
System.out.println("这个十六进制数转化为的十进制数是:"+hexToDecimal(hex.toUpperCase()));
}
public static int hexToDecimal(String hex){
int decimalValue=0;
for (int i=0;i<hex.length();i++) {
char hexChar=hex.charAt(i);
decimalValue=decimalValue *16+hexCharToDecimal(hexChar);
}
return decimalValue;
}
public static int hexCharToDecimal(char ch) {
if(ch>='A' && ch<='F')
return 10+ch-'A';
else
return ch-'0';
}
}
十进制转换为十六进制
import java.util.Scanner;
public class Dec2Hex {
public static void main(String[] args) {
Scanner input=new Scanner (System.in );//为Scanner开辟一个内存空间
System.out.print("输入一个十进制数:");//用户输入一个十进制数
int decimal=input.nextInt();//将用户输入的十进制数读取
String hex="";
while (decimal !=0) {
int hexValue=decimal%16;
char hexDigit=(0<=hexValue&&hexValue<=9) ? (char)(hexValue+'0'):(char)(hexValue-10+'A') ;
hex=hexDigit+hex;
decimal=decimal/16;
}
System.out.print("转化的十六进制数是:"+hex);
}
}