Comment pourrais-je convertir un 64-largeur de la chaîne binaire de long en Java?

Je veux convertir un 64-largeur de la chaîne binaire à long terme, il ya une méthode statique:

Long.parseLong(String s, int radix)

pour ce faire, mais il n'est pas adapté pour mon cas.

Le problème, c'est ma chaîne binaire est une machine de style long int.

Par exemple:

1111111111111111111111111111111111111111111111111111111110000101
représente -123, mais cette méthode reconnaître comme un immense nombre positif, cela me trouble, comment pourrais-je résoudre ce problème?

Dois-je écrire une fonction qui fait le complément?

Pourriez-vous expliquer plus sur machine-style long int et comment 123 est représenté par cette longue binaire. Coz binaire de 123 est 1111011. Désolé si je n'ai pas eu à votre question de droit.
Tout d'abord, je vous Remercie beaucoup. C'est -123 mais pas 123, qui est négatif. machine de style signifie qu'il est la représentation du matériel de l'ordinateur, qui utilisent des "1" dans le premier bit est à dire un nombre négatif, et de 0 à dire non-nombre positif, c'est différent de l'homme-style, qui utilisent les "-" pour nombre négatif. Suis-je clair?
Je pense que vous pourriez avoir besoin de vérifier votre représentation de chaîne de -123 comme un numéro de long. Long.toString(-123, 2) rendements -1111011.

OriginalL'auteur Sefier Tang | 2011-12-02