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