You might want to do something similar to the following:
struct { . . . unsigned int fieldof3bits : 3; . . . } newdatatypename;
In this case, fieldof3bits takes 3 bits in the structure (depending on how you define everything else, the size of the structure may vary).
This usage is called a bit field .
From Wikipedia:
The bit field is a term used in computer programming to store several logical adjacent bits, where each of the sets of bits and individual bits can be addressed. A bit field is most often used to represent integral types of known fixed bit widths.
source share