ビットフィールド使うだけ。つまらん。
int main()
{
struct {int a : 12;} a;
a.a=0xfff;
printf("%x\n", a.a);
a.a=0x7ff;
printf("%x\n", a.a);
}