2016-10-11 3 views
-4

Ich habe eine short val = 150; Wie lege ich diesen kurzen in ein Byte [2]?Java Short zu Byte Array

ich einige Code-Beispiele gefunden haben, weil andere Leute auch diese Frage gestellt, aber keiner von ihnen für mich gut funktioniert .. bitte helfen Sie mir

+1

Sie sollten alle Sachen veröffentlichen, die Sie schrieben, um dieses zu versuchen und spezifisch zu erklären, was nicht an jeder arbeitet. –

+0

Also ich denke, wir müssen alle diese Beispiele wiederholen, die nicht für Sie arbeiten? –

Antwort

0

Sie können dies tun:

short val = 150; 
byte []array = new byte[2] 
array[0] = (byte)(val & 0xff); 
array[1] = (byte)((val >> 8) & 0xff); 

Sie setzen in Array [0] das niedrigstwertige Byte. In Array [1] das höchstwertige Byte.

Für mehr über die Bedeutung der Operationen können Sie lesen here

+0

Vielen Dank für Ihre schnelle Antwort, wenn ich das versuche, erhalte ich die folgende Ausgabe: array [0] = -106 array [1] = 0 dieser nicht Sinn für mich –

+0

Warum nicht? Was ist das Problem? – granmirupa

+0

Könntest du mir vielleicht jede Zeile des Codes erklären? Ich bekomme es wirklich nicht .. danke –

1

bereits.

short val = 150; 
byte[] result = ByteBuffer.allocate(2).putShort(val).array();