Bit padding is wasted representation space within a value: unlike byte padding, it need not align with byte boundaries and can occupy individual bits. section 6.3.4
An unsigned value used for a four-member set needs only four meaningful bits; its remaining bits are bit padding. Structure fields such as tm_sec can likewise need fewer bits than an int provides. section 6.3.4
C bit-fields reduce this waste by placing a width after a colon in a member declaration. The compiler may coalesce successive fields into larger storage units, while code still accesses them as ordinary members. section 6.3.4
Reading a packed field
A declaration such as tbi_min : 6 reserves six bits for minutes; an expression such as x.tbi_min < 60 uses that field normally.
