Когда я XOR байта позволяет сказать -1 (в байте) с 2 (int), я получаю -3 в результате, тогда как я хочу, чтобы операция дала мне положительный int. Это связано с представлением комплемента 2 и продвижением по типу. Я хочу знать, есть ли способ использовать беззнаковый байт в java.Есть ли какое-либо условие беззнакового байта в Java?
int x = 2;
byte y = -1;
System.out.println(x^y);
Выход
-3
Я нашел две отличные подобные вопросы here и here. Но я хочу, чтобы какой-либо метод или побитовая операция возвращал int, который впоследствии может быть преобразован в байты без представления представления 2.
Расширение знака 'y' само по себе не имеет значения, низкие 8 бит результата все еще то, что вы хотите, поэтому, если вы собираетесь конвертировать обратно в байты, в любом случае это будет правильно. – harold