18

I needed to convert a very big binary value into its decimal equivalent. As it is a big integer I was using BigInteger. So how do I convert this binary number to a BigInteger?

Daanish
  • 1,011
  • 6
  • 17
  • 27

3 Answers3

23

If you have the String representation of your binary number, provide it to this overloaded BigInteger constructor to create an instance:

BigInteger(String val, int radix);

In your case, radix is clearly 2, i.e. you can use something like this:

BigInteger yourNumber = new BigInteger("101000101110...1010", 2);
Juvanis
  • 25,366
  • 5
  • 65
  • 85
4

If you have binary String you can convert it to BigInteger like this:

 String binaryString = "1010110101011010101010101101010101100101011010001010001100101110";
 BigInteger bigInt = new BigInteger(binaryString, 2);
Juvanis
  • 25,366
  • 5
  • 65
  • 85
amicngh
  • 7,683
  • 3
  • 29
  • 51
2
    String binaryValue = "11111111";
    BigInteger bi = new BigInteger(binaryValue, 2);  
Java SE
  • 2,003
  • 4
  • 19
  • 25