当二进制存储在数组中时,将二进制转换为十进制

时间:2017-11-07 09:47:22

标签: java

这是我写的代码,但它给出了错误的答案,我无法弄清楚为什么

int decimal = 0;

int power= 0;

for(int i=0; i<binary.length; i++)
{
    int tmp = binary[i]%10;
    decimal+=tmp*Math.pow(2,power);
    power++
}

System.out.println(decimal);

1 个答案:

答案 0 :(得分:0)

对于任意大小的byte[],您可以使用BigInteger

public void test(String[] args) {
    byte[] b = new byte[] {1,2,3,4,5};
    BigInteger bi = new BigInteger(b);
    System.out.println(bi.toString(10));
}

如果您的数组是int[],那么您可以转换它 - 请参阅How to convert int[] to byte[]