为什么这两个字节操作不相等?
Why aren't these two byte operations equal?
我有以下代码:
ByteBuffer bb = ByteBuffer.allocate(totalLength);
bb.putShort(3);
bb.putShort(0);
bb.putInt(3 << 15 + 0);
我不明白为什么将两个短值放入字节缓冲区与第二个操作不一样
试试 bb.putInt(3 << 16 + 0)
:)
您还可以通过以下方式检查您的 ByteBuffer
:
System.out.println(Arrays.toString(bb.array()));
我有以下代码:
ByteBuffer bb = ByteBuffer.allocate(totalLength);
bb.putShort(3);
bb.putShort(0);
bb.putInt(3 << 15 + 0);
我不明白为什么将两个短值放入字节缓冲区与第二个操作不一样
试试 bb.putInt(3 << 16 + 0)
:)
您还可以通过以下方式检查您的 ByteBuffer
:
System.out.println(Arrays.toString(bb.array()));