【发布时间】:2016-11-06 14:43:39
【问题描述】:
我正在尝试将带符号的 int 变量转换为 3 字节数组并向后转换。
在 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 值为 38143。
谁能帮帮我?
谢谢:)
【问题讨论】:
标签: java android arrays integer converter