Hallo,
ich suche verzweifelt nach einer Lösung für folgendes Problem:
ich möchte gerne ein int Wert in vier Teile, je ein byte groß, teilen und diese dann in einem byte-Array abspeichern.
Das Teilen ist nicht das Problem, das bekomme ich mit shift ganz gut hin. Allerdings wird bei einer Eingabe bei der das 8 bit des eines jeweiligen bytes 1 ist immer eine minus zahl ausgegeben.
Mal als Beispiel:
Integer: 1000 (binär: 1111101000 ) soll wie folgende in ein byte-Array test[] geschrieben werden (Angabe in binärer Schreibweise):
test[0]: 00000000
test[1]: 00000000
test[2]: 00000011
test[3]: 11101000
Mein Code aus der Mainmethode meiner Klasse dazu:
Die Ausgabe ist dann:
Mein Problem ist also das was bei test[3] ausgegeben wird.
Hat jemand vielleicht eine Idee wie ich das richtig hinbekomme?
LG
Rilji
ich suche verzweifelt nach einer Lösung für folgendes Problem:
ich möchte gerne ein int Wert in vier Teile, je ein byte groß, teilen und diese dann in einem byte-Array abspeichern.
Das Teilen ist nicht das Problem, das bekomme ich mit shift ganz gut hin. Allerdings wird bei einer Eingabe bei der das 8 bit des eines jeweiligen bytes 1 ist immer eine minus zahl ausgegeben.
Mal als Beispiel:
Integer: 1000 (binär: 1111101000 ) soll wie folgende in ein byte-Array test[] geschrieben werden (Angabe in binärer Schreibweise):
test[0]: 00000000
test[1]: 00000000
test[2]: 00000011
test[3]: 11101000
Mein Code aus der Mainmethode meiner Klasse dazu:
Code:
int Wert = 1000;
System.out.println("Wert:"+Integer.toBinaryString(Wert));
byte[] test = new byte[4];
test[3]=(byte)Wert;
Wert = Wert >> 8;
test[2]= (byte)Wert;
Wert = Wert >> 8;
test[1]=(byte)Wert;
Wert = Wert >> 8;
test[0]=(byte)Wert;
for(int i = 0; i < test.length;i++){
System.out.println("test["+i+"]: "+Integer.toBinaryString(test[i]));
}
Die Ausgabe ist dann:
Code:
Wert:1111101000
test[0]: 0
test[1]: 0
test[2]: 11
test[3]: 11111111111111111111111111101000
Mein Problem ist also das was bei test[3] ausgegeben wird.
Hat jemand vielleicht eine Idee wie ich das richtig hinbekomme?
LG
Rilji