Я должен немного догадаться, поскольку не знаю протокола.
Возможно, оба значения должны рассматриваться в протоколе как беззнаковые (положительные) байты,
они вы можете конвертировать их в целые позже.
// 0-255
int plus = (int)(plusByte & 0xFF);
// -255 - 0
int minus = 0 - (int)(minusByte & 0xFF);
Это как-то связано с этим Пэт 6313763 ? Но так как длина пакета фиксирована, я ее не получаю.
Невозможно хранить в байте "большие" числа, чем диапазон 256. Может быть, вы неправильно поняли протокол, а его старший и младший биты int хранятся в двух байтах?