请问一个关于位域的有关问题

请教一个关于位域的问题
我定义了一个结构体:

// 移相衰减控制码 [ Phase shift attenuation control code ]
struct PSACC
{
    unsigned int atten8_0 : 1;  // 衰减量 8.0 dB
    unsigned int atten4_0 : 1;  // 衰减量 4.0 dB
    unsigned int atten2_0 : 1;  // 衰减量 2.0 dB
    unsigned int atten1_0 : 1;  // 衰减量 1.0 dB
    unsigned int atten0_5 : 1;  // 衰减量 0.5 dB
    
    unsigned int psa90_00 : 1;  // 移相器角度 90    度
    unsigned int psa22_50 : 1;  // 移相器角度 22.5  度
    unsigned int psa11_25 : 1;  // 移相器角度 11.25 度
    unsigned int psa5_625 : 1;  // 移相器角度 5.625 度
    unsigned int psa45_00 : 1;  // 移相器角度 45    度
    unsigned int psa180_0 : 1;  // 移相器角度 180   度
    
    unsigned int control  : 1;  // 0:发射     1:接收
    unsigned int          : 4   // 字节对齐
};


为什么我的 sizeof(PSACC) 不是2而是4呢?
就算考虑到字节的内存对齐,那么 PSACC ps[2]; sizeof(ps2) 为什么不是4,而是8呢?
现在比较急,和硬件连调的,麻烦知道的高手能够指点一下。
谢谢!!
------解决方案--------------------
你要是想要2,你就这么写

struct PSACC
{
unsigned char atten8_0 : 1;  // 衰减量 8.0 dB
unsigned char atten4_0 : 1;  // 衰减量 4.0 dB
unsigned char atten2_0 : 1;  // 衰减量 2.0 dB
unsigned char atten1_0 : 1;  // 衰减量 1.0 dB
unsigned char atten0_5 : 1;  // 衰减量 0.5 dB

unsigned char psa90_00 : 1;  // 移相器角度 90    度
unsigned char psa22_50 : 1;  // 移相器角度 22.5  度
unsigned char psa11_25 : 1;  // 移相器角度 11.25 度
unsigned char psa5_625 : 1;  // 移相器角度 5.625 度
unsigned char psa45_00 : 1;  // 移相器角度 45    度
unsigned char psa180_0 : 1;  // 移相器角度 180   度

unsigned char control  : 1;  // 0:发射     1:接收
unsigned char          : 4 ; // 字节对齐
};