64,639
社区成员
发帖
与我相关
我的任务
分享
typedef struct AA
{
int a:
5;
int b:
2;
}AA; // 这里AA只占一个字节,AA.a占五位,AA.b占两位
void main()
{
AA aa;
char cp[] = "012345";
memcpy(&aa, cp, sizeof(aa)); // 这里将'0'赋给aa, '0'的二进制码为00110000,
//cout < < sizeof(aa) < < endl;
cout < < aa.a < < endl; //aa.a占五位为10000,因为aa.a为int型,最高位为符号位(1为负,0为正),所以输出-16
cout < < aa.b < < endl; //aa.a占两位01,输出1
}