一部のデータを構造体にパックしようとしています。
構造体の定義は次のとおりです。
#pragma pack(push)
#pragma pack(1)
struct Data
{
unsigned char i:2;
unsigned short r:14;
unsigned short c:14;
};
#pragma pack(pop)
ビット数が 30 でパックが 1 であるため、この構造体のサイズは 4 である必要があると理解していますが、コンパイラーはサイズが 5 バイトであると言っています。
Visual Studio 2012 を使用しています。
これらはビットフィールドであることに注意してください。
このサイズは 4 です。
struct Data
{
unsigned short i:2;
unsigned short r:14;
unsigned short c:14;
};