找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2333|回復: 3
打印 上一主題 下一主題
收起左側

CRC-16源碼 C語言

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:168748 發(fā)表于 2017-3-7 10:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "stdafx.h"
  2. #include "iostream"

  3. typedef unsigned short ushort;
  4. typedef unsigned char uchar;
  5. using namespace std;
  6. ushort checksum(uchar* ,uchar );   //傳字符串,字節(jié)數(shù),
  7. int main()
  8. {
  9.         uchar array[3]={0x01,0x02,0x03};
  10.         uchar len=sizeof(array);
  11.         ushort CRC=checksum(array ,len );
  12.     cout<<hex<<CRC<<endl;
  13.         return 0;
  14. }
  15. ushort checksum(uchar* array,uchar len)
  16. {
  17.    ushort CRC=0xFFFF;
  18.    for(uchar i=0;i<len;++i)
  19.    {
  20.            CRC=CRC^(ushort)array[i];
  21.            for(uchar j=0;j<8;++j)
  22.            {
  23.                   
  24.                    if((CRC & 0x0001)==0x0001)
  25.                    {
  26.                            CRC=(CRC>>=1)^0xA001;
  27.                             ;
  28.                    }
  29.                    else
  30.                CRC>>=1;
  31.            }
  32.    }
  33.    return CRC;
  34. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:285686 發(fā)表于 2020-4-7 14:45 | 只看該作者
非常好,和計算器計算的一樣。代碼好!
回復

使用道具 舉報

板凳
ID:285686 發(fā)表于 2020-4-7 14:46 | 只看該作者
非常好,我在找A001的,終于找到了。8005的計算結果不一樣。
回復

使用道具 舉報

地板
ID:64931 發(fā)表于 2024-5-19 21:58 | 只看該作者
謝謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表