Как я могу преобразовать двоичную строку 64-ширины в длинную в Java?

Я хочу преобразовать двоичную строку шириной 64 в длинную, для этого есть статический метод:

Long.parseLong(String s, int radix)

, но он не подходит для моего случая.

Проблема в том, что моя двоичная строка представляет собой длинное целое число машинного стиля.

Например:

111111111111111111111111111111111111111111111111111110000101 представляет -123 , но этот метод распознает его как огромное положительное число, это меня беспокоит, как я могу решить эту проблему?

Должен ли я написать функцию, выполняющую дополнение?

9
задан reevesy 5 December 2012 в 14:48
поделиться