crc.hh
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:0k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /*
  2.   File: crc.hh
  3.   */
  4. #ifndef __crc_hh__
  5. #define __crc_hh__
  6. // 16-Bit CRC checksum class:
  7. class Crc16 {
  8.   static const uint16 polynomial;
  9.   uint16 crc;
  10.  public:
  11.   Crc16 (void){ crc = 0xFFFF; }
  12.   void add_bits(uint32 bitstring, uint32 length);
  13.   // feed a bitstring to the crc calculation (0 < length <= 32)
  14.   uint16 checksum (void){
  15.     // return the calculated checksum and erase it for next calls to add_bits()
  16.     register uint16 sum = crc;
  17.     crc = 0xFFFF;
  18.     return sum;
  19.   }
  20. };
  21. #endif