VC controla el diseño del puerto serie a través de mscomm. Los datos leídos por el puerto serie son hexadecimales y existen en el tipo Cstring.
La conversión a binario no tiene sentido y es una pérdida de esfuerzo. Simplemente realice operaciones directamente poco a poco. Al tomar el primer dígito, configúrelo en 1. Referencia:
#include lt; stdlib.hgt;
#include lt; stdio.hgt
// Se recomienda procesar en unidades de 4 bytes
CString str = " A2 47 B5 93";
str.Remove(' '); //eliminar espacios
DWORD dwHex;
sscanf(str, "x", amp; dwHex); //convierte a número hexadecimal dwHex
//toma los bits 1, 4, 7, 8, 11 (contando desde abajo) de dwHex
DWORD dwMask = 0x0054; //101 0100 == 0x0054
DWORD dwNew = dwHexamp;
/ /dwNew es el número requerido
printf("x\n", dwNew);