Byte nach Binär-String

woezelmann

Mitglied
Hallo,

ich hab folgendes Problem: Hab nen byte[], von dem jeweils zwei aufeinanderfolgende bytes eine Zahl darstellen ("little endian").
Jetzt versuche ich die dargestellte Zahl rauszukriegen und dazu will ich die bytes einzeln in binäre Strings umwandeln und je zwei aufeinanderfolgende zusammenpacken. Die Klasse Byte hat aber nicht die Methode "toBinaryString()". Kann das ganze auch nicht über Integer.toBinaryString() machen und dann die überflüssigen bits am Ende abschneiden, weil das ganze ja in der Zweierkomplement-darstellung ist und sich der Wert dann ändern würde.
Kennt jemand von euch nen Trick, um das irgendwie zu machen, oder muss ich was Eigenes schreiben, was das macht?

Grüße
Christoph
 
So, mit nem kleinen Umweg über BigInteger gehts :D Den kann man nämlich mit nem byte[2] füttern und er macht ne Zahl draus. Dann nur noch nach Integer casten.

Code:
byte[] temp = new byte[2];

BigInteger bi = new BigInteger(temp);

int zahl  = bi.intValue();

Bin aber immer offen für etwas schickere Lösungen!
 
Zurück