I would start with converting the binary pattern to hex by hand, and then simply assign it to an unsigned long int. Converting binary to hex is very easy since you can simply deal with one byte at a time. Hex values in C begin with 0x, e.g. 0xFF is 255 in decimal.
Code:
unsigned long int hex = 0xFF;
printf("%lX\n", hex);
Or you could just store the binary pattern as a string and use strtoul to convert it to a long. That would make printing it in binary easy, but I guess that's cheating a bit.
Question 20.10
C Programming Tips #1
Your binary pattern seem to be missing a bit though:
0101 111 0001 1000 1001 0010 1101 0011