#include <stdio.h>
#pragma pack(1)
typedef struct
{
union
{
struct
{
unsigned int p1:4;
unsigned int p2:2;
unsigned int p3:4;
unsigned int p4:6;
};
} u;
} A;
typedef struct
{
union
{
struct
{
unsigned int p1:4;
unsigned int p2:2;
unsigned int p3:4;
unsigned int p4:6;
};
unsigned int kk;
} u;
} B;
#pragma pack()
int main()
{
printf("%u\n", sizeof(A));
B obj = {3, 2, 4, 5};
printf("%02x %02x\n", ((char*)&obj)[1], ((char*)&obj)[0]);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojcHJhZ21hIHBhY2soMSkKdHlwZWRlZiBzdHJ1Y3QKewoJdW5pb24KCXsKCQlzdHJ1Y3QKCQl7CgkJCXVuc2lnbmVkIGludCBwMTo0OwoJCQl1bnNpZ25lZCBpbnQgcDI6MjsKCQkJdW5zaWduZWQgaW50IHAzOjQ7CgkJCXVuc2lnbmVkIGludCBwNDo2OwoJCX07Cgl9IHU7Cn0gQTsKCnR5cGVkZWYgc3RydWN0CnsKCXVuaW9uCgl7CgkJc3RydWN0CgkJewoJCQl1bnNpZ25lZCBpbnQgcDE6NDsKCQkJdW5zaWduZWQgaW50IHAyOjI7CgkJCXVuc2lnbmVkIGludCBwMzo0OwoJCQl1bnNpZ25lZCBpbnQgcDQ6NjsKCQl9OwoJCXVuc2lnbmVkIGludCBrazsKCX0gdTsKfSBCOwojcHJhZ21hIHBhY2soKQoKaW50IG1haW4oKQp7CglwcmludGYoIiV1XG4iLCBzaXplb2YoQSkpOwoKCUIgb2JqID0gezMsIDIsIDQsIDV9OwoKCXByaW50ZigiJTAyeCAlMDJ4XG4iLCAoKGNoYXIqKSZvYmopWzFdLCAoKGNoYXIqKSZvYmopWzBdKTsKCglyZXR1cm4gMDsKfQo=