火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1333|回复: 1
打印 上一主题 下一主题

[视窗] [原创软件模块]crc32 BUG修复 uint16_t改为 uint32_t

[复制链接]

307

主题

1382

帖子

5321

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5321
QQ
跳转到指定楼层
楼主
发表于 2022-4-1 15:32:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  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);
复制代码



专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

10

主题

199

帖子

1075

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1075
QQ
沙发
发表于 2022-4-1 15:38:37 | 只看该作者
感谢大佬分享
特约贵宾
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-11 04:28 , Processed in 0.089056 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表