Мне нужно преобразовать 2 байта (дополнение 2) в int в коде Java. как мне это сделать?
toInt(byte hb, byte lb) { }
return ((int)hb << 8) | ((int)lb & 0xFF);
Правильная работа во всех случаях оставлена в качестве упражнения для студента.
public int toInt(byte hb, byte lb)
{
return ((int)hb)<<8 + lb;
}
Вы также можете использовать Класс ByteBuffer :
public int toInt(byte hb, byte lb) {
ByteBuffer bb = ByteBuffer.wrap(new byte[] {hb, lb});
return bb.getShort(); // Implicitly widened to an int per JVM spec.
}
Этот класс может быть полезен при декодировании большого количества данных.