本来仅仅只是用来做哈夫曼实验时的辅助,后来一想干脆封装好,省得以后又要用到比特位的操作。

基本用法示例:

 BitArray bits;
 bits[] = ;
 bits[] = ;
 cout<<bits[]<<endl;  ]<<endl;  ]<<endl; ){}
)/+;}
*bytes;}
             size_t setBitCapacity(size_t newBitsCapacity);
            size_t getBitSize(){            size_t getBitCapacity(){            size_t getByteSize(){            size_t getByteCapacity(){                                   uchar * m_data;
          size_t m_bitsLength;
          size_t m_bitsCapacity;
           };
 #endif 

1 #include "BitArray.h"

;
){
;
,t_bytesLength);
*t_bytesLength;
*t_fact_bytesCapacity;
,t_fact_bytesCapacity);
;i<m_bitsLength;i++){
      }
 
 BitArray::BitArray(unsigned  {
     m_data = data;
     m_bitsLength = bitsLength;
     m_bitsCapacity = *BitsToBytes(m_bitsLength);
     m_owns = isOwns;
     size_t t_bytesLength = BitsToBytes(m_bitsLength);
              memset(m_data,,t_bytesLength);
 }
 
               delete[] m_data;
     m_data = data;
     m_bitsLength = bitsLength;
     m_bitsCapacity = *BitsToBytes(m_bitsLength);
     m_owns = isOwns;
     size_t t_bytesLength = BitsToBytes(m_bitsLength);
              memset(m_data,,t_bytesLength);
 }
 
  {
                             }
                     }
                   }
      ){
         position += m_bitsLength; 
     }
                    }          ;
              }         size_t t_new_bitsLength = position+;
         size_t t_new_bytesCapacity = BitsToBytes(c_increaseCapacity*t_new_bitsLength);
         size_t t_new_bitsCapacity = *t_new_bytesCapacity;
         uchar* t_data =                                  memset(t_data,,t_new_bytesCapacity);
         memcpy(t_data,m_data,BitsToBytes(m_bitsCapacity));
                      delete[] m_data;
         }
         m_data = t_data;
         m_bitsCapacity = t_new_bitsCapacity;
         m_bitsLength = t_new_bitsLength;
         m_owns =               }
 }
 
  {
                    }
      && position >= -(               }
      }
 
 size_t BitArray::setBitSize(size_t newBitsLength)
 {
     size_t origin_bitsLength = m_bitsLength;
              m_bitsLength = newBitsLength;
     }          ,     }
      }
 
 size_t BitArray::setBitCapacity(size_t newBitsCapacity)
 {
               size_t new_bytesCapacity = BitsToBytes(newBitsCapacity);
              uchar* t_data =                                  memset(t_data,,new_bytesCapacity);
                            }                   }
                      delete[] m_data;
         }
         m_data = t_data;
         m_bitsCapacity = BytesToBits(new_bytesCapacity);
                      m_bitsLength = m_bitsCapacity;
         }
         m_owns =      }
      }
 
  {
          m_owns = owns;
      }
 
     {
      ;    
      - (position) % ; 
              map[sub] |= <<pos;                  map[sub] &= ~(<<pos);           }
 
     {
      ;
      - (position)%;
      );
 }
 
 Bit::Bit(BitArray *bits,     m_bits = bits;
     m_position = position;
 }
 
 Bit& Bit::     m_bits->      }
 
 Bit::      }

最新文章

  1. Linux基础知识集锦
  2. 使用XML定制Ribbon的一点小前奏(稍微再进一步的理解XML)
  3. codeforces 446B(优先队列)
  4. 去块率波 Deblocking filter
  5. 看看如何面试前端工程师:Github很重要
  6. 字符数组char
  7. Codeforces Gym 100338B Geometry Problem 计算几何
  8. CentOS安装libpcap
  9. COJN 0575 800601滑雪
  10. C# 文件上传
  11. Singleton 单例模式 泛型 窗体控制
  12. Hbase 基础 - shell 与 客户端
  13. CNN网络架构演进:从LeNet到DenseNet
  14. centos7下安装docker(16.1docker跨主机存储--Rex-Ray)
  15. [python网络编程]使用scapy修改源IP发送请求
  16. python正则表达式,以及应用[下载图片]
  17. Hadoop基础-Protocol Buffers串行化与反串行化
  18. ntp/系统时钟/硬件时钟/双系统下计算机时间读取的问题
  19. PHP表单-PHP $_POST 变量
  20. onsubmit不起作用的原因

热门文章

  1. 2013年中国区Skyline软件价格体系
  2. C++ CheckBox_Porerty
  3. 【ZZ】超全面的设计模式总结
  4. UNIX标准化及实现之POSIX标准可选头文件
  5. UVA 10006 - Carmichael Numbers 数论(快速幂取模 + 筛法求素数)
  6. fancybox的使用
  7. 深入理解计算机系统第二版习题解答CSAPP 2.20
  8. [改善Java代码]优先选择线程池
  9. [改善Java代码]推荐使用枚举定义常量
  10. ActiveMQ(5.10.0) - JNDI Support