如何转换Binary到Decimal

时间:2014-10-20 23:16:50

标签: java binary decimal

我最近在如何完成此代码方面获得了帮助,但是我又遇到了另一个巨大的错误,我不知道如何修复。它告诉我使用数字变量,但我在第一行代码之一。你能帮忙吗?谢谢!

public static int binToDec(int i)
{
    int[] numbers;//initialize variable
    int f = 4;
    String iString = "" + i;
    int result = 0;
    int length = iString.length();
    int power;
    for(power = iString.length(); power>=0;power--)
    {
    while(f == length && f >= 0)
    {

        numbers[power] = iString.charAt(power)^power;
    }

    length--;
    f--;
    }
    for(int g = 0; g <= numbers.length; g++)//double check constraints
    {
        result = numbers[g] = numbers[power];
    }

        return result;
}

2 个答案:

答案 0 :(得分:1)

您收到错误,因为已声明数字但尚未初始化。尝试

numbers = new int [length];

设定长度后

答案 1 :(得分:0)

您可以使用Integer.parseInt(binaryNumber, 2)方法将任意二进制数直接转换为十进制数,其中二进制为String

使用此代码,可以更有效地将二进制数转换为十进制数。

public static int binaryToDecimal(String binary) {
    int decimal = 0;
    for (int i = 0; i < binary.length(); i++) {
        int digit = new Integer(binary.charAt(binary.length() - i - 1) + "");
        decimal += digit * Math.pow(2, i);
    }
    return decimal;
}