位字段可以把二进制数据处理为char进行简洁的处理
typedef struct
{
unsigned char ch1:1;
unsigned char ch2:1;
unsigned char ch3:1;
unsigned char ch4:1;
unsigned char ch5:1;
unsigned char ch6:1;
unsigned char ch7:1;
unsigned char ch8:1;
}bit;
void main()
{
printf("%d", sizeof(bit));//位字段的方式输出整数的二进制码
int num;
scanf("%d", &num);
bit *p = #
for (int i = 3; i >= 0;i--)
{
printf("%d%d%d%d %d%d%d%d ",
p[i].ch8,
p[i].ch7,
p[i].ch6,
p[i].ch5,
p[i].ch4,
p[i].ch3,
p[i].ch2,
p[i].ch1
);
}
system("pause");
}
字节分布:变量在内存,低字节低位,倒序排列