欢迎访问宙启技术站
智能推送

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中常用数值转换的实现方法,通过调用这些方法可以方便地完成二进制转十进制、十进制转二进制、十进制转十六进制等转换操作。可以根据具体需求使用这些方法进行数值转换。