找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1882|回复: 0
打印 上一主题 下一主题
收起左侧

CRC32非查表范例,验证可用

[复制链接]
跳转到指定楼层
楼主
ID:618394 发表于 2021-6-18 17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. //Polynomial representations
  2. //
  3. //Normal :0x04C11DB7
  4. //Reversed :0xEDB88320
  5. //Reversed reciprocal :0x82608EDB

  6. unsigned long CRC_32;

  7. unsigned  long crc32_in_c(unsigned  char *p, unsigned  char len)
  8. {
  9.         unsigned  char        i,j;
  10.             unsigned  long crc = 0xffffffff;
  11.             for(j=0;j<len;j++)
  12.             {
  13.                 crc = crc ^ *p++;
  14.                 for (i = 0;i<8;i++)
  15.                 {
  16.                     crc = (crc >> 1) ^ (0xedb88320 &  -(crc & 1));
  17.                 }
  18.             }
  19.             return ~crc;
  20. }
  21. //================================================
  22. void        main()
  23. {

  24.                 p_data[0]=0x33;
  25.                 p_data[1]=0x34;
  26.                 p_data[2]=0x35;
  27.                 CRC_32= crc32_in_c((unsigned  char *)&p_data[0], 3);
  28. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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