#include <stdio.h>
struct grade{
unsigned a:8;
unsigned b:2;
unsigned c:6;
unsigned d:4;
unsigned e:4;
}k;
int main()
{
int a;
k.a=1;k.b=1;k.c=1;k.d=1;k.e=1;
a=*((int *)&k);
printf("%x",a);
system("pause");
return 0;
}
关于位域,主要是知道它在内存中如何存储。
按照从地位到高位顺序。dev_c++
0001 0001 000001 01 00000001
按16进制输出就是110501。