I need to represent the value 0xFF00 as two bytes (in Java). I am trying to do it like this:
int val = 0xFF00; bytearray[0] = (byte)((val >> 8) & 0xFF); bytearray[1] = (byte)((val >> 0) & 0xFF);
I know that a byte in Java can contain values โโ0-255. Therefore, I expect the first element of the array to have a value of 255, and the second element to be zero. But I get instead -1 and 0. What am I doing wrong? What does this -1 mean?
source share