short转换成byte[]时,数值为负,请高手帮我看看程序啊。
我需要把一个short数值A放到数组里,当A>255时,需要两个字节的数组。我发现b[1]的值为负,和我想象中的不一样。
public static void putShort(byte b[], short s, int index) {
b[index] = (byte) ((s >> 8) & 0xff);
b[index + 1] = (byte) ((s >> 0) & 0xff);
}
例如 A=1234
期望值为: b[0]=0x04, b[1]=0xD2
真实值为:b[0]=0x04, b[1]=0x-46
大家能不能帮我看看,这个程序怎么改啊,多谢了!