18

我需要将一个非常大的二进制值转换为其十进制等效值。因为它是一个大整数,所以我使用的是 BigInteger。那么如何将此二进制数转换为 BigInteger?

4

3 回答 3

23

如果您有String二进制数的表示,请将其提供给这个重载BigInteger的构造函数以创建一个实例:

BigInteger(String val, int radix);

在你的情况下,基数显然是 2,即你可以使用这样的东西:

BigInteger yourNumber = new BigInteger("101000101110...1010", 2);
于 2013-07-24T12:06:21.707 回答
4

如果你有二进制字符串,你可以把它转换成BigInteger这样:

 String binaryString = "1010110101011010101010101101010101100101011010001010001100101110";
 BigInteger bigInt = new BigInteger(binaryString, 2);
于 2013-07-24T12:07:46.473 回答
2
    String binaryValue = "11111111";
    BigInteger bi = new BigInteger(binaryValue, 2);  
于 2013-07-24T12:08:35.193 回答