fork download
  1. #include <iostream>
  2.  
  3. int main(int argc, char **argv)
  4. {
  5. struct mala {
  6. unsigned char value, value2, value3;
  7. };
  8.  
  9. union unia {
  10. mala a;
  11. unsigned int b:24;
  12. };
  13.  
  14. unia k;
  15.  
  16. k.b = 16003789;
  17.  
  18. mala a = k.a;
  19. std::cout << sizeof(a) << " " << (int)a.value << " " << (int)a.value2 << " " << (int)a.value3 << std::endl;
  20.  
  21. mala b;
  22. b.value = 100;
  23. b.value2 = 0;
  24. b.value3 = 1;
  25.  
  26. k.a = b;
  27.  
  28. std::cout << k.b; // 1 * 256 * 256 + 100 = 65636
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
3 205 50 244
65636