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

使用Java函数实现二进制数转十进制数的方法有哪些?

发布时间:2023-07-29 18:22:43

在Java中,可以使用以下几种方法将二进制数转换为十进制数:

1. 使用Math类的pow()函数:该方法接受两个参数,分别是基数和指数,可以使用该函数将每一位的二进制数根据位数转换为十进制数,然后将所有位数的十进制数相加得到最终结果。

public static int binaryToDecimal1(String binary) {
    int decimal = 0;
    int length = binary.length();
    
    for (int i = 0; i < length; i++) {
        char digit = binary.charAt(i);
        if (digit == '1') {
            decimal += Math.pow(2, length - 1 - i);
        }
    }
    
    return decimal;
}

2. 使用Integer类的parseInt()函数:该方法可以将字符串表示的二进制数解析为对应的十进制数。

public static int binaryToDecimal2(String binary) {
    return Integer.parseInt(binary, 2);
}

3. 使用位运算:可以使用位运算符将每一位的二进制数转换为对应的十进制数,然后将所有位数的十进制数相加得到最终结果。

public static int binaryToDecimal3(String binary) {
    int decimal = 0;
    int length = binary.length();
    
    for (int i = 0; i < length; i++) {
        char digit = binary.charAt(i);
        if (digit == '1') {
            decimal = (decimal << 1) + 1;
        } else {
            decimal <<= 1;
        }
    }
    
    return decimal;
}

4. 使用自定义算法:可以使用循环遍历字符串的每一位,并根据位数乘以对应的权重,再将所有位数的十进制数相加得到最终结果。

public static int binaryToDecimal4(String binary) {
    int decimal = 0;
    int length = binary.length();
    
    for (int i = 0; i < length; i++) {
        char digit = binary.charAt(i);
        if (digit == '1') {
            decimal += 1 << (length - 1 - i);
        }
    }
    
    return decimal;
}

这些方法提供了多种方式来实现二进制数转换为十进制数的功能,可以根据需要选择最适合的方法。