fork download
  1. enum class PCLK_root_divider : unsigned char
  2. {
  3. pll_clki_1 = 0,
  4. pll_clki_2 = 1,
  5. pll_clki_4 = 2,
  6. pll_clki_8 = 3
  7. };
  8.  
  9. enum class sclk2x_root_divider : unsigned char
  10. {
  11. pll_clki_1 = 0,
  12. pll_clki_2 = 1,
  13. pll_clki_4 = 2,
  14. pll_clki_8 = 3
  15. };
  16.  
  17. enum class SCLK_root_divider : unsigned char
  18. {
  19. pll_clki_1 = 0,
  20. pll_clki_2 = 1,
  21. pll_clki_4 = 2,
  22. pll_clki_8 = 3
  23. };
  24.  
  25. struct Whatever
  26. {
  27. SCLK_root_divider _SCLK_root_divider : 2;
  28. sclk2x_root_divider _sclk2x_root_divider : 2;
  29. PCLK_root_divider _PCLK_root_divider : 2;
  30. unsigned char _debug_mode : 2;
  31. };
  32.  
  33. #include <iostream>
  34.  
  35. int main()
  36. {
  37. Whatever whatever = { };
  38. whatever._SCLK_root_divider = SCLK_root_divider::pll_clki_8;
  39. whatever._debug_mode = 2;
  40. std::cout << std::hex << static_cast<int>(*reinterpret_cast<unsigned char*>(&whatever)) << std::endl;
  41. return 0;
  42. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
83