getbits.hpp
来自「RAR源码相关」· HPP 代码 · 共 39 行
HPP
39 行
#ifndef _RAR_GETBITS_#define _RAR_GETBITS_class BitInput{ public: enum BufferSize {MAX_SIZE=0x8000}; protected: int InAddr,InBit; public: BitInput(); ~BitInput(); byte *InBuf; void InitBitInput() { InAddr=InBit=0; } void addbits(int Bits) { Bits+=InBit; InAddr+=Bits>>3; InBit=Bits&7; } unsigned int getbits() { unsigned int BitField=(uint)InBuf[InAddr] << 16; BitField|=(uint)InBuf[InAddr+1] << 8; BitField|=(uint)InBuf[InAddr+2]; BitField >>= (8-InBit); return(BitField & 0xffff); } void faddbits(int Bits); unsigned int fgetbits(); bool Overflow(int IncPtr) {return(InAddr+IncPtr>=MAX_SIZE);}};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?