У меня есть массив байтов, например (массив байтов может быть больше или меньше, чем 3 байта)Удалить последний бит байта
byte[] array = {0b00000011, 0b00111011, 0b01010101}
Как я могу удалить последний бит байт: 0b 0000011, 0b 0111011, 0b , потому что я хочу, чтобы получить результат, как этот 11 | 0111011 | 1010101 , но я понятия не имею, как это сделать
Прежде всего, шестнадцатеричное обозначение 0xXXXXXX. Вместо этого используйте 0bXXXXX. Во-вторых, вы должны использовать побитовые операторы: & (1010 и 1100 -> 1000), | (1010 | 1100 -> 1110),^(1010^1100 -> 0110) и двоичные сдвиги (>> и <<: 10101100>> 2 -> 00101011). –
Так что 'myByte & 0b01111111' сохранит только последние 7 бит' myByte'. Результатом может быть «int», если да, просто верните его в байт: '(byte) (myByte & 0b01111111)' –
Вы хотите, чтобы ваш результат был в 'int',' String'or как? –