Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- //struct Test
- //{
- // uint8_t f1; //1
- // uint16_t f2; //2 [][][][]
- // uint8_t f3; //1 [][][][]
- // uint32_t f4; //4 [][][][]
- // uint8_t f5; //1 [][][][]
- // //9
- //};
- // 0 4 7 8 16
- // ([][][][]) ([][][][]) ([][][][]) ([][][][])
- struct Test
- {
- uint8_t f5; //1
- uint8_t f1; //1
- uint8_t f3; //1 [5][*][*][*]
- uint16_t f2; //2 [*][*][*][*]
- uint32_t f4; //4 [4][4][4][4]
- //9
- };
- union Buffer
- {
- uint8_t bytes[4];
- uint16_t words[2];
- uint32_t buffer;
- };
- int main()
- {
- Buffer buf;
- buf.bytes[0] = 0;
- buf.bytes[1] = 0;
- buf.bytes[2] = 0;
- buf.bytes[3] = 0;
- std::cout << buf.words[0] << '\n';
- std::cout << buf.words[1] << '\n';
- buf.words[0] = 65535;
- buf.words[1] = 65535;
- std::cout << (int)buf.bytes[0] << '\n';
- std::cout << (int)buf.bytes[1] << '\n';
- std::cout << (int)buf.bytes[2] << '\n';
- std::cout << (int)buf.bytes[3] << '\n';
- //std::cout << "sizeof(Test) = " << sizeof(Test) << '\n';
- //std::cout << "sizeof(uint8_t) = " << sizeof(uint8_t) << '\n';
- //std::cout << "sizeof(uint16_t) = " << sizeof(uint16_t) << '\n';
- //std::cout << "sizeof(uint32_t) = " << sizeof(uint32_t) << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment