crc.h

来自「orange源码 数据挖掘技术」· C头文件 代码 · 共 19 行

H
19
字号
extern unsigned long crc32_table[256];

#define INIT_CRC(x) (x) = 0xffffffff
#define FINISH_CRC(x) (x) = (x) ^ 0xffffffff

#define ADD_CRC \
  for(unsigned char *b = (unsigned char *)(&data), *e = b + sizeof(data); \
      b != e; \
      crc = (crc >> 8) ^ crc32_table[(crc & 0xFF) ^ *(b++)]); \

inline void add_CRC(unsigned long &data, unsigned long &crc) 
{ ADD_CRC }

inline void add_CRC(float &data, unsigned long &crc) 
{ ADD_CRC }

inline void add_CRC(unsigned char c, unsigned long &crc)
{ crc = (crc >> 8) ^ crc32_table[(crc & 0xFF) ^ c]; }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?