递归火山软件开发平台

标题: [原创软件模块]crc32 BUG修复 uint16_t改为 uint32_t [打印本页]

作者: urenai    时间: 2022-4-1 15:32
标题: [原创软件模块]crc32 BUG修复 uint16_t改为 uint32_t
  1. uint32_t crc32(uint8_t *data, uint32_t length)
  2. {
  3.     uint8_t i;
  4.     uint32_t crc = 0xffffffff;        // Initial value
  5.     while(length--)
  6.     {
  7.         crc ^= *data++;                // crc ^= *data; data++;
  8.         for (i = 0; i < 8; ++i)
  9.         {
  10.             if (crc & 1)
  11.                 crc = (crc >> 1) ^ 0xEDB88320;// 0xEDB88320= reverse 0x04C11DB7
  12.             else
  13.                 crc = (crc >> 1);
  14.         }
  15.     }
  16.     return ~crc;
  17. }
复制代码
  1. uint32_t crc32(uint8_t *data, uint32_t length);
复制代码




作者: 渤海湾董事长    时间: 2022-4-1 15:38
感谢大佬分享




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4