преобразование байтов в int в Java

Мне нужно преобразовать 2 байта (дополнение 2) в int в коде Java. как мне это сделать?

toInt(byte hb, byte lb)
{

}
8
задан Ben Lakey 23 June 2010 в 20:51
поделиться

3 ответа

return ((int)hb << 8) | ((int)lb & 0xFF);

Правильная работа во всех случаях оставлена в качестве упражнения для студента.

15
ответ дан 5 December 2019 в 06:22
поделиться
public int toInt(byte hb, byte lb)
{
    return ((int)hb)<<8 + lb;
}
0
ответ дан 5 December 2019 в 06:22
поделиться

Вы также можете использовать Класс 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.
}

Этот класс может быть полезен при декодировании большого количества данных.

10
ответ дан 5 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: