📅  最后修改于: 2023-12-03 15:22:48.252000             🧑  作者: Mango
本篇文章将介绍如何编写Java程序将十六进制数转换为十进制数。
十六进制是一种基数为16的计数系统,使用0-9以及A-F这16个字符表示数值,其中A表示10,B表示11,以此类推。例如,十六进制数2F表示的是(2 * 16 + 15) = 47。
而十进制是一种基数为10的计数系统,使用0-9这10个字符表示数值。
编写程序时,我们可以采用如下的步骤实现将十六进制数转换为十进制数:
下面是Java代码片段:
public class HexToDecimal {
public static void main(String[] args) {
String hex = "2F";
int decimal = hexToDecimal(hex);
System.out.println(hex + " in hex = " + decimal + " in decimal");
}
public static int hexToDecimal(String hex) {
char[] hexArray = hex.toCharArray();
int decimal = 0;
int power = 0;
for (int i = hexArray.length - 1; i >= 0; i--) {
int digit = hexCharToDecimal(hexArray[i]);
decimal += digit * Math.pow(16, power);
power++;
}
return decimal;
}
public static int hexCharToDecimal(char c) {
if (c >= '0' && c <= '9') {
return c - '0';
} else if (c >= 'A' && c <= 'F') {
return c - 'A' + 10;
} else if (c >= 'a' && c <= 'f') {
return c - 'a' + 10;
} else {
throw new IllegalArgumentException("Invalid hex char: " + c);
}
}
}
本篇文章介绍了如何编写Java程序将十六进制数转换为十进制数,同时也讲解了十六进制和十进制的概念。希望对您有所帮助。