火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

309

主题

1388

帖子

5348

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5348
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的心理及生理教育辅导。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 13:30 , Processed in 0.083961 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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