The values that can be represented by a signed bit field with a length of one bit may not meet developer expectations. For example, according to
the C99 Standard, a single-bit signed bit-field has a single (one) sign bit and no (zero) value bits.
This rule does not apply to unnamed bit fields, as their values cannot be accessed.
Noncompliant code example
signed int f:1; // Noncompliant; there's only room here for the sign
Compliant solution
unsigned int f:1;
or
signed int:1; // unnamed
or
signed int f:2;