Java binär Byte.parseByte()

Hi,
mein Ziel ist es einen achstelligen Binärcode als String angeben zu können und am Ende ein byte zu haben, dass entsprechend im Speicher steht. Sollte an sich mit der im Titel genannten Methode kein Problem sein wenn man als Regix 2 angibt. Nur es ist leider doch ein Problem. Gebe ich z.B. als Binärwert 10000000 ein und wähle als Regix 2 bekomme ich folgende Fehlermeldung:

"java.lang.NumberFormatException: Value out of range. Value:"10000000" Radix:2"

Hat jemand eine Ahnung wie ich das Problem einfach lösen kann?

Edit: Was mir noch aufgefallen ist ist, dass egal welchen "möglichen Wert" ich auch angebe nie auf negative Werte komme, obwohl ein byte ja von -128 bis +127 geht. Kann das der Grund sein?
 
also ich kenne die java implementation nicht aber warum schreibst du nicht einfach einen eigenen parser? das sind maximal 10 zeilen code und du hast die volle kontrolle was mit welchen daten passiert
 
Meine Deviese ist eigentlich immer Dinge die schon implementiert sind nicht noch einmal selber zu schreiben. Aber im Prinziep hast du recht. Sollte noch irgendwer eine Lösung für die ursprüngliche Frage haben wäre ich trozdem sehr dankbar.
 
Das 1 Problem ist:
Wertebereich von Byte geht von 2^7-1 bis -2^7 http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Byte.html.
D.h 127 bis -128.
Das zweite Problem ist die parseByte Funktion - sie ist nicht "intelliegent". Das heißt, dass das achte Bit nicht als Vorzeichen interpretiert wird.
Z.B sowas klappt wunderbar:
System.out.println(Byte.parseByte("-10000000",2));

Auch wenn es technisch gesehen nicht so viel Sinn ergibt ;).
 
Zurück
Oben