2016-10-11 56 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();