Подпись - это просто концепция.Под капотом byte
s, подписанные или нет, всего 8 бит.Под 0xFF
вы, вероятно, подразумеваете биты 1111 1111. Что такое 1111 1111 при интерпретации в дополнении к двум?-1!
Таким образом, вы должны заменить 0xFF
на -1
.
Аналогично, 0x88
равно 1000 1000 или -120 в дополнении до двух.
ТакВы можете написать свой байтовый массив следующим образом:
byte[] b = {0x40,-120,-1};
На самом деле, приведение к byte
делает это преобразование за вас:
byte[] b = {0x40,(byte)0x88,(byte)0xFF};