Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #ifndef TEMP_H_INCLUDED
  2. #define TEMP_H_INCLUDED
  3.  
  4. class BitArray
  5. {
  6.     public:
  7.         BitArray(unsigned int desSize)
  8.         {
  9.             size = desSize;
  10.             data = new char[(size/8)*8];
  11.         }
  12.         ~BitArray()
  13.         {
  14.             delete[] data;
  15.         }
  16.        
  17.         bool operator[](unsigned int i)
  18.         {
  19.             unsigned int base = i/8*8;
  20.             return data[base] & (1<<(i-base));
  21.         }
  22.        
  23.         void on(unsigned int i)
  24.         {
  25.             unsigned int base = i/8*8;
  26.             data[base] |= (1<<(i-base));
  27.         }
  28.         void off(unsigned int i)
  29.         {
  30.             unsigned int base = i/8*8;
  31.             data[base] &= ~(1<<(i-base));
  32.         }
  33.         void swap(unsigned int i)
  34.         {
  35.             unsigned int base = i/8*8;
  36.             data[base] ^= (1<<(i-base));
  37.         }
  38.        
  39.     private:
  40.         unsigned int size;
  41.        
  42.         char* data;
  43. }
  44.  
  45. #endif // TEMP_H_INCLUDED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement