Соответствие шаблонам байтов - PullRequest
1 голос
/ 14 февраля 2012

Скажем, у вас есть байт шаблона:

byte b = 0x%1;

Как определить, есть ли у байта определенные значения на «2-й позиции» - вместо %? В этом примере 1, независимо от того, что занимает 1-я позиция.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Используйте биты маски, чтобы получить последние 8 битов:

int last8bits = b & 0xF;

Редактировать: Вы должны прочитать битовые операции .


Полный пример:

public static void main(String[] args) {

    byte b = (byte) 0xA1;
    int last8bits = b & 0xF;

    if (last8bits == 0x01)
        System.out.println("\"matches\"");
}
1 голос
/ 14 февраля 2012
if ((0x0F & b) == 0x01) {
    // pattern matched
...