Little Endian中的2字节数组到没有java.nio的int。*

时间:2014-01-28 03:01:19

标签: java endianness

我想在Little Endian中将2byte数组转换为Int而不使用java.nio。*。我怎么能做到这一点?

关于

3 个答案:

答案 0 :(得分:1)

这应该是技巧int val = (anArray[1] & 0xff) << 8 + (anArray[0] & 0xff);

答案 1 :(得分:1)

刚刚发现此帖并意识到接受的答案无法正常运行,因为+的优先级高于<<

因此,它应该是int val = ((anArray[1] & 0xff) << 8) + (anArray[0] & 0xff);

答案 2 :(得分:0)

你有2个字节意味着16位 因为在小印度,最不重要的16位单位存储该值 你可以在java中使用bitvise操作

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html