Я прочитал byte[]
из сокета как Param_Code
. есть условие для Param_Code
, как показано ниже:
• Вариант 1: иногда Param_Code
соответствует идентификатору
• Вариант 2: иногда Param_Code
соответствует 0x40000000 + идентификатор
• Вариант 3: иногда Param_Code
соответствует 0x80000000 + идентификатор
Это мой код:
byte[] cbuf = new byte[4];
socketReader.read(cbuf, 0, 4);
int Param_Code = byteArrayToIntBI(cbuf, 0);
public static int byteArrayToIntBI(byte[] b, int offset) {
int value = 0;
for (int i = 3; i > -1; i--) {
int shift = (i) * 8;
value += (b[i + offset] & 0x000000FF) << shift;
}
return value;
}
Мой вопрос: как я могу узнать (с помощью оператора if или что-то еще), когда Param_Code
является одним из указанных выше вариантов?
Как я могу получить ID?
if( ? ){
it is Option 1 and ID = ?
}else if( ? ){
it is Option 1 and ID = ?
}else if( ? ){
it is Option 1 and ID = ?
}