A notation like this is very often used to store information about multiple options with 2 possible states for each option (on, off).
You define it usually this way:
#define OPTION_A 0x0001 // binary: 0000 0001
#define OPTION_B 0x0002 // 0000 0010
#define OPTION_C 0x0004 // 0000 0100
#define OPTION_D 0x0008 // 0000 1000
#define OPTION_E 0x0010 // 0001 0000
e.g. OPTION_B and OPTION_E -> ON: binary 0001 0010 which is 0x12.
Then with just setting or reseting one or more bit using bitmasks (mainly logical AND and logical OR) you can turn on/off options independently from other and check which options are turned on. It let's you store 32 options in one 4 byte integer variable.
I hope it helped you. If you have any more questions about it - just ask