Pytanie Jak przekonwertować liczbę binarną na BigInteger w Javie?


Musiałem przekonwertować bardzo dużą wartość binarną na jej dziesiętny odpowiednik. Ponieważ jest to duża liczba całkowita, używam BigInteger. Jak więc przekonwertować ten numer binarny na BigInteger?


12
2017-07-24 12:02


pochodzenie


Jak mamy ten numer binarny? Jako tablica bajtów? - Andrey Akhmetov
Jest w ciąg ... - Daanish


Odpowiedzi:


Jeśli masz String reprezentacja twojego numeru binarnego, przekaż go temu przeciążonemu BigInteger konstruktor, aby utworzyć instancję:

BigInteger(String val, int radix);

W twoim przypadku podstawa wynosi 2, tzn. Możesz użyć czegoś takiego:

BigInteger yourNumber = new BigInteger("101000101110...1010", 2);

17
2017-07-24 12:06





Jeśli masz ciąg binarny, możesz go przekonwertować BigInteger lubić.

 String binaryString = "1010110101011010101010101101010101100101011010001010001100101110";
 BigInteger bigInt = new BigInteger(binaryString, 2);

4
2017-07-24 12:07





    String binaryValue = "11111111";
    BigInteger bi = new BigInteger(binaryValue, 2);  

2
2017-07-24 12:08