I'm flummoxed by how to convert from a binary value to a char in c.
For example, let's say I have 01010110 and want to print the corresponding letter 'V' from that. How do I do this?
Thanks for any help!
#include <stdio.h>
#include <stdlib.h>
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);
}
Output:
01010110 = V = 86 = 0x56
References:
strtol()
strtol()
You can use strtol()
to parse a number on a string. The last argument (in this case 2) is the radix for the conversion.
char c = strtol("01010110", (char **)NULL, 2);
More information about this and other number parsing functions here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With