Я не уверен, что понимаю ваш вопрос.
Я просто попробовал это, и для байта -12 (знаковое значение) он возвращал целое число 244 (эквивалентное значению без знакового байта, но вводимое как int
):
public static int unsignedToBytes(byte b) {
return b & 0xFF;
}
public static void main(String[] args) {
System.out.println(unsignedToBytes((byte) -12));
}
Это то, что вы хотите сделать?
Java не позволяет выразить 244 как значение byte
, как и C. Чтобы выразить положительные целые числа выше Byte.MAX_VALUE
(127) вам нужно использовать другой целочисленный тип, например short
, int
или long
.
Попробуйте это:
sudo Кв. - получают guvcview
установки