Convertir de un binario a char en C

Estoy desconcertado por cómo convertir de un valor binario a un char en c.

Por ejemplo, digamos que tengo 01010110 y quiero imprimir la letra ‘V’ correspondiente a partir de eso. ¿Cómo hago esto?

¡Gracias por cualquier ayuda!

 #include  #include  int main(void) { char *data = "01010110"; char c = strtol(data, 0, 2); printf("%s = %c = %d = 0x%.2X\n", data, c, c, c); return(0); } 

Salida:

 01010110 = V = 86 = 0x56 

Referencias:

  • strtol()
  • Uso correcto de strtol()

Puedes usar strtol() para analizar un número en una cadena. El último argumento (en este caso 2) es la raíz de la conversión.

 char c = strtol("01010110", (char **)NULL, 2); 

Más información sobre esta y otras funciones de análisis de números aquí .

Hizo algo ligeramente diferente:

Desde el binario, calculé matemáticamente el int y simplemente convertí el int en un char.

 int i; char c = (char)i; 
Intereting Posts