Hi!
Ich hab folgendes Problem: Ich bastle grad an ner Klasse, die mir veschiedene Variablen in Byte-Arrays umwandelt. Sinn und Zweck des Ganzen sei jetzt mal dahingestellt ^^!
Jetzt kann es sein, dass ich eine Variable als Int übergebe, allerdings nur als Short (also als Byte-Array mit zwei Elementen) zurückgegeben möchte. Siehe folgende Methode:
Mein Problem:
Sobald ich weniger als die für Int typischen 4-Bit haben möchte, geht mein >Vorzeichen< flöten! Woran kann's liegen? Wie ist so ne Int aufgebaut, Zweierkomplement nehm ich mal an? Ich komm einfach nicht auf die Lösung -.-!
Hoffe auf Hilfe und vielen Dank schon mal!
Grüße,
Jey
Ich hab folgendes Problem: Ich bastle grad an ner Klasse, die mir veschiedene Variablen in Byte-Arrays umwandelt. Sinn und Zweck des Ganzen sei jetzt mal dahingestellt ^^!
Jetzt kann es sein, dass ich eine Variable als Int übergebe, allerdings nur als Short (also als Byte-Array mit zwei Elementen) zurückgegeben möchte. Siehe folgende Methode:
Code:
public static byte[] getUnsignedShort(int value) {
return new byte[] {
(byte) ((value & 0xFF)),
(byte) ((value >> 8) & 0xFF)
};
}
Mein Problem:
Sobald ich weniger als die für Int typischen 4-Bit haben möchte, geht mein >Vorzeichen< flöten! Woran kann's liegen? Wie ist so ne Int aufgebaut, Zweierkomplement nehm ich mal an? Ich komm einfach nicht auf die Lösung -.-!
Hoffe auf Hilfe und vielen Dank schon mal!
Grüße,
Jey