2 bytes to short

Remember, you don’t have to tie yourself in knots with bit shifting if you’re not too familiar with the details. You can use a ByteBuffer to help you out:

ByteBuffer bb = ByteBuffer.allocate(2);
bb.order(ByteOrder.LITTLE_ENDIAN);
bb.put(firstByte);
bb.put(secondByte);
short shortVal = bb.getShort(0);

And vice versa, you can put a short, then pull out bytes.

By the way, bitwise operations automatically promote the operands to at least the width of an int. There’s really no notion of “not being allowed to shift a byte more than 7 bits” and other rumours that seem to be going round.

Leave a Comment