找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2426|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

CRC32非查表范例,驗(yàn)證可用

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:618394 發(fā)表于 2021-6-18 17:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

  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. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表