#include <iostream>
using namespace std;
struct test {
uint32_t t1:20;
uint32_t t2:20;
uint32_t t3:20;
uint32_t t4:20;
uint32_t t5:20;
uint32_t t6:20;
uint32_t t7:20;
uint32_t t8:20;
};
struct test2 {
uint64_t t1:20;
uint64_t t2:20;
uint64_t t3:20;
uint64_t t4:20;
uint64_t t5:20;
uint64_t t6:20;
uint64_t t7:20;
uint64_t t8:20;
};
int main() {
cout << "test is "<<sizeof(test)<<" bytes compared to "<<8*sizeof(uint32_t)<<endl;
cout << "test2 is "<<sizeof(test2)<<" bytes compared to "<<8*sizeof(uint32_t)<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IHRlc3QgewoJdWludDMyX3QgdDE6MjA7IAoJdWludDMyX3QgdDI6MjA7IAoJdWludDMyX3QgdDM6MjA7IAoJdWludDMyX3QgdDQ6MjA7IAoJdWludDMyX3QgdDU6MjA7IAoJdWludDMyX3QgdDY6MjA7IAoJdWludDMyX3QgdDc6MjA7IAoJdWludDMyX3QgdDg6MjA7IAp9OyAKCnN0cnVjdCB0ZXN0MiB7Cgl1aW50NjRfdCB0MToyMDsgCgl1aW50NjRfdCB0MjoyMDsgCgl1aW50NjRfdCB0MzoyMDsgCgl1aW50NjRfdCB0NDoyMDsgCgl1aW50NjRfdCB0NToyMDsgCgl1aW50NjRfdCB0NjoyMDsgCgl1aW50NjRfdCB0NzoyMDsgCgl1aW50NjRfdCB0ODoyMDsgCn07IAppbnQgbWFpbigpIHsKCWNvdXQgPDwgInRlc3QgaXMgIjw8c2l6ZW9mKHRlc3QpPDwiIGJ5dGVzIGNvbXBhcmVkIHRvICI8PDgqc2l6ZW9mKHVpbnQzMl90KTw8ZW5kbDsKCWNvdXQgPDwgInRlc3QyIGlzICI8PHNpemVvZih0ZXN0Mik8PCIgYnl0ZXMgY29tcGFyZWQgdG8gIjw8OCpzaXplb2YodWludDMyX3QpPDxlbmRsOwoJcmV0dXJuIDA7Cn0=