Java函数实现二进制转十进制、十进制转二进制、十进制转十六进制等常用数值转换
发布时间:2023-08-09 04:50:20
在Java中,常用的数值转换包括二进制转十进制、十进制转二进制、十进制转十六进制等。下面是对这些转换的实现方法的详细说明。
1. 二进制转十进制:
二进制转十进制是将一个二进制数转换为等值的十进制数。实现这个转换的方法是,从二进制数的最低位开始,按权相加的方法进行计算。具体步骤如下:
- 从二进制数的最低位开始,将每一位的值乘以2的对应次方;
- 将乘积相加,得到最终的十进制数。
以下是Java代码实现二进制转十进制的方法:
public static int binaryToDecimal(String binary) {
int decimal = 0;
int power = 0;
for (int i = binary.length() - 1; i >= 0; i--) {
int digit = Character.getNumericValue(binary.charAt(i));
decimal += digit * Math.pow(2, power);
power++;
}
return decimal;
}
示例用法:
String binary = "1010"; int decimal = binaryToDecimal(binary); System.out.println(decimal); // 输出:10
2. 十进制转二进制:
十进制转二进制是将一个十进制数转换为等值的二进制数。实现这个转换的方法是,使用除以2取余的方法进行计算。具体步骤如下:
- 不断用十进制数除以2,得到的余数就是二进制数的最低位;
- 将余数从最低位开始排列,得到最终的二进制数。
以下是Java代码实现十进制转二进制的方法:
public static String decimalToBinary(int decimal) {
StringBuilder binary = new StringBuilder();
while (decimal > 0) {
int remainder = decimal % 2;
binary.insert(0, remainder);
decimal /= 2;
}
return binary.toString();
}
示例用法:
int decimal = 10; String binary = decimalToBinary(decimal); System.out.println(binary); // 输出:1010
3. 十进制转十六进制:
十进制转十六进制是将一个十进制数转换为等值的十六进制数。实现这个转换的方法是,使用除以16取余的方法进行计算,并将余数对应的十六进制表示添加到结果中。具体步骤如下:
- 不断用十进制数除以16,得到的余数就是十六进制数的最低位;
- 如果余数大于等于10,则将其转换为A-F的字母表示;
- 将余数从最低位开始排列,得到最终的十六进制数。
以下是Java代码实现十进制转十六进制的方法:
public static String decimalToHex(int decimal) {
StringBuilder hex = new StringBuilder();
while (decimal > 0) {
int remainder = decimal % 16;
if (remainder >= 10) {
char hexDigit = (char) ('A' + remainder - 10);
hex.insert(0, hexDigit);
} else {
hex.insert(0, remainder);
}
decimal /= 16;
}
return hex.toString();
}
示例用法:
int decimal = 255; String hex = decimalToHex(decimal); System.out.println(hex); // 输出:FF
以上是Java中常用数值转换的实现方法,通过调用这些方法可以方便地完成二进制转十进制、十进制转二进制、十进制转十六进制等转换操作。可以根据具体需求使用这些方法进行数值转换。
