2016-10-11 92 views
-4

我有一個 short val = 150; 我該如何把這個短的字節[2]?Java短到字節數組

我已經發現了一些代碼示例,因爲其他人問這些問題太多,但他們沒有工作對我來說很好..請幫我

+1

你應該發佈你寫的所有東西來試試這個,並具體解釋什麼不是每個人都有效的。 –

+0

所以我想我們必須重複所有那些不適合你的例子嗎? –

回答

0

你可以這樣做:

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

你把在數組[0]中是最低有效字節。數組[1]中最重要的字節。

欲瞭解更多有關操作的意義,你可以閱讀here

+0

謝謝您的回答快,如果我嘗試,我得到下面的輸出: 數組[0] = -106 陣列[1] = 0 這沒有道理給我 –

+0

爲什麼不呢?有什麼問題? – granmirupa

+0

你可以解釋我的每一行代碼嗎?我真的沒有得到它..謝謝 –

1

試試這個。

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