struct BitField
{
unsigned rangeAOne : 11; // long 1;
unsigned rangeATwo : 11;
unsigned rangeBOne : 10;
unsigned rangeAThree : 11; // long 2;
unsigned rangeAFour : 11;
unsigned rangeBTwo : 10;
} ;
合理的分配空间
0000 0000 | 0000 0000 | 0000 0000 | 0000 0000
| rangeBOne | rangeATwo | rangeAOne |
struct WastingBitField
{
unsigned rangeAOne : 11; // long 1;
unsigned rangeATwo : 11;
unsigned rangeAThree : 11; // long 2;
unsigned rangeAFour : 11;
unsigned rangeBTwo : 10;
unsigned rangeBOne : 10;
} ;
不合理,产生浪费