Advertisement
avr39ripe

bitFlagTask

Feb 4th, 2021
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. bool getFlag(uint8_t flag, uint8_t bit)
  4. {
  5.     // 0b10100011
  6.     // 0b00000100 << 2
  7.     // 0b00000000
  8.     return (flag & (1 << bit));
  9. }
  10.  
  11. void setFlag(uint8_t flag, uint8_t bit, bool val)
  12. {
  13.     // 0b10100111
  14.     // 0b10100011
  15.  
  16.    
  17. }
  18.  
  19. /*
  20. * setFlag(5, true);
  21. setFlag(6, true);
  22.  
  23. getFlag(3); // false
  24. getFlag(6); // true
  25.  
  26. setFlag(0, true);
  27. setFlag(6, false);
  28.  
  29. */
  30.  
  31.  
  32. struct monsterProps
  33. {
  34.     bool prop1;
  35.     bool prop2;
  36.     bool prop3;
  37.     bool prop4;
  38.     bool prop5;
  39.     bool prop6;
  40.     bool prop7;
  41.     bool prop8;
  42. };
  43.  
  44. int main()
  45. {
  46.     uint8_t flag{ 0b10100011 };
  47.  
  48.     for (int i{0}; i<8; ++i)
  49.     {
  50.         std::cout << std::boolalpha << getFlag(flag, i) << '\n';
  51.     }
  52.    
  53.  
  54.     //monsterProps m1;
  55.     //m1.prop1 = true;
  56.     //m1.prop6 = true;
  57.     //m1.prop5 = false;
  58.  
  59.     //std::cout << sizeof(monsterProps) << '\n';
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement