符号付きint変数を3バイト配列に変換しようとしています。Javaバイト符号付き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型の値がです。
誰でも手伝ってもらえますか?
おかげ:)
Color
http://stackoverflow.com/questions/11981966/byte-array-to-signed-int – floyd