为什么这两个字节操作不相等?

时间:2016-01-16 22:44:52

标签: java byte bytebuffer

我有以下代码:

ByteBuffer bb = ByteBuffer.allocate(totalLength);
bb.putShort(3);
bb.putShort(0);

bb.putInt(3 << 15 + 0);

我不明白为什么将两个短值放入字节缓冲区与第二个操作

不同

1 个答案:

答案 0 :(得分:1)

请尝试bb.putInt(3 << 16 + 0):)

您还可以使用

检查ByteBuffer
System.out.println(Arrays.toString(bb.array()));