#include <stdio.h>

void print_binary(unsigned int number)
{
    if (number >> 1) {
        print_binary(number >> 1);
    }
    putc((number & 1) ? '1' : '0', stdout);
}

int main(void) {
	unsigned int val = 
		(255 << 24) |
		(1 << 16) |
		(2 << 8) |
		(3);
	print_binary(val);
	printf("\n");
	unsigned char r = (val & 0x00FF0000) >> 16;
	print_binary((unsigned int)r);
	printf("\n");
	return 0;
}
