#include <stdio.h>
/*
* Converts a character to its 8-bit binary representation
* and stores the result in the supplied buffer.
*
* Parameters:
* ch - character to convert
* buffer - output buffer (must be at least 9 bytes:
* 8 bits + null terminator)
*/
void char_to_bits(unsigned char ch, char buffer[])
{
for (int i = 7; i >= 0; --i) {
buffer[7 - i] = ((ch >> i) & 1) ? '1' : '0';
}
buffer[8] = '\0';
}
/*
* Prints a character and its binary representation.
*/
void print_character_bits(unsigned char ch)
{
char bits[9] = "";
char_to_bits(ch, bits);
printf("Character: '%c'\n", ch);
printf("Decimal : %u\n", ch);
printf("Binary : %s\n", bits);
}
int main(void)
{
/* Usage examples */
print_character_bits('A');
printf("\n");
print_character_bits('a');
printf("\n");
print_character_bits('5');
printf("\n");
print_character_bits('@');
return 0;
}
/*
run:
Character: 'A'
Decimal : 65
Binary : 01000001
Character: 'a'
Decimal : 97
Binary : 01100001
Character: '5'
Decimal : 53
Binary : 00110101
Character: '@'
Decimal : 64
Binary : 01000000
*/