Соответствие бинарным образцам в C

В настоящее время я занимаюсь разработкой программы на C, которая должна анализировать некоторые заказные структуры данных, к счастью, я знаю, как они структурированы, однако я не уверен, как реализовать свой синтаксический анализатор на C.

Каждая из структур имеет длину 32 бита, и каждая структура может быть идентифицирована по ее двоичной сигнатуре.

Например, есть две конкретные структуры, которые меня интересуют, и они имеют следующие двоичные шаблоны (x означает 0 или 1)

 0000-00xx-xxxx-xxx0
 0000-10xx-10xx-xxx0

Внутри этих структур биты «x» содержат фактические данные, которые мне нужны, поэтому, по сути, мне нужен способ идентификации каждой структуры на основе того, как биты записаны в каждой структуре.

Так, например, в псевдокоде:

if (binaryPattern = 000010xxxxxxxxx0) {
do something with it;
}

Я предполагаю, что чтение их как целочисленных значений, а затем выполнение какой-либо битовой маскировки было бы правильным решением, но мои знания C невелики, и, возможно, простая логическая операция ИЛИ сделает это, но я просто хотел немного совет сделать это, прежде чем я начну.

Спасибо

Большое спасибо всем, кто ответил, очень полезно!

Ответы на вопрос(4)

Ваш ответ на вопрос