Coincidencia de patrones binarios en C

Actualmente estoy desarrollando un programa de C que necesita analizar algunas estructuras de datos a medida, afortunadamente, sé cómo están estructuradas, sin embargo, no estoy seguro de cómo implementar mi analizador en C.

Cada una de las estructuras tiene una longitud de 32 bits, y cada estructura puede ser identificada por su firma binaria.

Como ejemplo, hay dos estructuras particulares en las que estoy interesado, y tienen los siguientes patrones binarios (x significa 0 o 1)

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

Dentro de estas estructuras, los bits 'x' contienen los datos reales que necesito, por lo que esencialmente necesito una forma de identificar cada estructura en función de cómo se escriben los bits dentro de cada estructura.

Así como un ejemplo en pseudo-código:

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

Supongo que leerlos como ints, y luego realizar algún tipo de enmascaramiento de bits sería el camino a seguir, pero mi conocimiento de C no es excelente, y tal vez una simple operación lógica OR lo haría, pero solo quería algo Consejos para hacer esto antes de empezar.

Gracias

Muchas gracias a todos los que han respondido, muy útil !!

Respuestas a la pregunta(4)

Su respuesta a la pregunta