В настоящее время я пытаюсь написать последовательную реализацию MODbus в java. Основная проблема, с которой я сталкиваюсь, заключается в том, что когда я объявляю байт (или короткий, если на то пошло) как что-то вроде 0xC4 (для байта), я получаю «Ошибка потери точности».
Есть ли что-то вокруг этого? Или я вынужден относиться ко всем числовым типам так, будто они на 1 бит короче, чем они есть на самом деле (например, 7-битные, 15-битные, 31-битные, 63-битные)?
И пример:
byte[] test =
{
0x11,
0x02,
0x00,
0xC4,
0x00,
0x16
};
Это выдает предупреждение на 0xC4 о том, что требуется байт «Возможная потеря точности», найденный int.