我試圖將signed int變量轉換爲3字節數組並向後。Java字節Array to signed Int
在功能getColorint,我將int值轉換爲字節數組。這工作正常!
public byte [] getColorByte(int color1){
byte[] color = new byte[3];
color[2] = (byte) (color1 & 0xFF);
color[1] = (byte) ((color1 >> 8) & 0xFF);
color[0] = (byte) ((color1 >> 16) & 0xFF);
return color;
}
但是,如果我嘗試將字節數組轉換回整數與getColorint功能:
public int getColorint(byte [] color){
int answer = color [2];
answer += color [1] << 8;
answer += color [0] << 16;
return answer;
}
它僅適用於正整數。
我輸入int值是-16673281但我的輸出int值是。
任何人都可以幫助我嗎?
謝謝:)
http://stackoverflow.com/questions/11981966/byte-array-to-signed-int – floyd