Show Binary

#include <stdio.h>
 
int main()
{
	unsigned char n = 250;
	printf("n = %u\n", n);
	printf("n = 0x%02X\n", n);
 
 
	// First Approach
	struct byte {
		unsigned char a:1, b:1, c:1, d:1, e:1, f:1, g:1, h:1;
	} *ba;
	ba = (struct byte *)&n;
	printf("Bin: %u%u%u%u %u%u%u%u\n",
		(*ba).h, (*ba).g, (*ba).f, (*ba).e,
		(*ba).d, (*ba).c, (*ba).b, (*ba).a);
 
 
	// Second Approach
	printf("Bin: ");
	for(int i=0; i<8; i++) {
		if(i==4)
			printf(" ");
		printf("%u", n&128?1:0);
		n = n << 1;
	}
	printf("\n");
 
 
	return 0;
}
n = 250
n = 0xFA
Bin: 1111 1010
Bin: 1111 1010
#include <stdio.h>
#include <stdint.h>
 
 
void showbin32(uint32_t num)
{
    struct byte {
        unsigned char a:1;
        unsigned char b:1;
        unsigned char c:1;
        unsigned char d:1;
        unsigned char e:1;
        unsigned char f:1;
        unsigned char g:1;
        unsigned char h:1;
    };
 
    union {
        uint32_t n;
        struct byte c[4];
    } pack;
 
    pack.n = num;
 
    for (int i = 3; i >= 0; i--) {
        printf("%u%u%u%u%u%u%u%u ",
                pack.c[i].h,
                pack.c[i].g,
                pack.c[i].f,
                pack.c[i].e,
                pack.c[i].d,
                pack.c[i].c,
                pack.c[i].b,
                pack.c[i].a);
    }
    printf("\n");
}
 
int main()
{
    uint32_t n = 4278190080;
 
	printf("n = %u\n", n);
	printf("n = 0x%02X\n", n);
    showbin32(n);
 
    return 0;
}
n = 4278190080
n = 0xFF000000
11111111 00000000 00000000 00000000
#include <stdio.h>
#include <stdint.h>
#include <string.h>
 
 
void showbinstr(char *s, size_t len)
{
    struct byte {
        unsigned char a:1;
        unsigned char b:1;
        unsigned char c:1;
        unsigned char d:1;
        unsigned char e:1;
        unsigned char f:1;
        unsigned char g:1;
        unsigned char h:1;
    };
 
    union {
        unsigned char n;
        struct byte c;
    } pack;
 
    for (int i = 0; i < len; i++) {
        pack.n = s[i];
        printf("%u%u%u%u%u%u%u%u ",
                pack.c.h,
                pack.c.g,
                pack.c.f,
                pack.c.e,
                pack.c.d,
                pack.c.c,
                pack.c.b,
                pack.c.a);
    }
    printf("\n");
}
 
int main()
{
    char str[16];
 
    str[0] = 0xff;
    str[1] = 0xff;
    str[2] = 0xff;
    str[3] = 0xff;
    str[4] = 0xff;
    str[5] = 0xff;
    str[6] = 0xff;
    str[7] = 0xff;
 
    str[8] = 0x00;
    str[9] = 0x00;
    str[10] = 0x00;
    str[11] = 0x00;
    str[12] = 0x00;
    str[13] = 0x00;
    str[14] = 0x00;
    str[15] = 0x00;
 
    showbinstr(str, 16);
 
    strcpy(str, "Pejman");
    printf("str: %s\n", str);
    showbinstr(str, strlen(str));
 
    return 0;
}
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
str: Pejman
01010000 01100101 01101010 01101101 01100001 01101110