久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開(kāi)始

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

VB的crc,沒(méi)有看懂,大神講解一下,想轉(zhuǎn)換為C語(yǔ)言,怎么寫(xiě)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:503174 發(fā)表于 2019-12-10 10:51 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
CRC校驗(yàn):對(duì)數(shù)據(jù)包頭(除起始符)和數(shù)據(jù)包體所有字節(jié)進(jìn)行下列操作所得結(jié)果,可用來(lái)檢驗(yàn)數(shù)據(jù)是否正確

CRC校驗(yàn)過(guò)程
Const crct = "000094188226097063221131194156126032163253031065" _
           + "157195033127252162064030095001227189062096130220" _
           + "035125159193066028254160225191093003128222060098" _
           + "190224002092223129099061124034192158029067161255" _
           + "070024250164039121155197132218056102229187089007" _
           + "219133103057186228006088025071165251120038196154" _
           + "101059217135004090184230167249027069198152122036" _
           + "248166068026153199037123058100134216091005231185" _
           + "140210048110237179081015078016242172047113147205" _
           + "017079173243112046204146211141111049178236014080" _
           + "175241019077206144114044109051209143012082176238" _
           + "050108142208083013239177240174076018145207045115" _
           + "202148118040171245023073008086180234105055213139" _
           + "087009235181054104138212149203041119244170072022" _
           + "233183085011136214052106043117151201074020246168" _
           + "116042200150021075169247182232010084215137107053"
Dim crctab(255) As Integer
For i = 0 To 255
  crctab(i) = Mid(crct, 3 * i + 1, 3)
Next
Dim crc As Byte
For ii = 數(shù)據(jù)包頭(除起始符) To數(shù)據(jù)包體最后一字節(jié)
      crc = crctab(crc Xor arrin(ii))
Next

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

使用道具 舉報(bào)

沙發(fā)
ID:282850 發(fā)表于 2019-12-10 16:43 | 只看該作者
Dim crctab(255)         '定義數(shù)組,16位
For i = 0 To 255          '相當(dāng)于for(i=0;i<=255;i++){
  crctab(i) = Mid(crct, 3 * i + 1, 3)      ' crctab[i]=  取crct中,3*i+1開(kāi)始位置,取3位,C的忘了函數(shù)寫(xiě)法
Next    ’          相當(dāng)于C的for 的  }
Dim crc As Byte   '定義單字節(jié)變量  ,8位
For ii = 數(shù)據(jù)包頭(除起始符) To數(shù)據(jù)包體最后一字節(jié)  
      crc = crctab(crc Xor arrin(ii))       'Xor 為異或
Next
你程序不全,arrin沒(méi)有,是輸入的數(shù)組吧。
回復(fù)

使用道具 舉報(bào)

板凳
ID:94031 發(fā)表于 2019-12-10 17:25 | 只看該作者
網(wǎng)上c語(yǔ)言crc校驗(yàn)例程很多找一個(gè)用不行嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:155507 發(fā)表于 2019-12-10 20:52 | 只看該作者
我給你來(lái)個(gè)程序試試

  1. #include <stdio.h>

  2. unsigned int crctable[256] =
  3. {
  4. 0x0000, 0x1189, 0x2312, 0x329B, 0x4624, 0x57AD, 0x6536, 0x74BF,
  5. 0x8C48, 0x9DC1, 0xAF5A, 0xBED3, 0xCA6C, 0xDBE5, 0xE97E, 0xF8F7,
  6. 0x0919, 0x1890, 0x2A0B, 0x3B82, 0x4F3D, 0x5EB4, 0x6C2F, 0x7DA6,
  7. 0x8551, 0x94D8, 0xA643, 0xB7CA, 0xC375, 0xD2FC, 0xE067, 0xF1EE,
  8. 0x1232, 0x03BB, 0x3120, 0x20A9, 0x5416, 0x459F, 0x7704, 0x668D,
  9. 0x9E7A, 0x8FF3, 0xBD68, 0xACE1, 0xD85E, 0xC9D7, 0xFB4C, 0xEAC5,
  10. 0x1B2B, 0x0AA2, 0x3839, 0x29B0, 0x5D0F, 0x4C86, 0x7E1D, 0x6F94,
  11. 0x9763, 0x86EA, 0xB471, 0xA5F8, 0xD147, 0xC0CE, 0xF255, 0xE3DC,
  12. 0x2464, 0x35ED, 0x0776, 0x16FF, 0x6240, 0x73C9, 0x4152, 0x50DB,
  13. 0xA82C, 0xB9A5, 0x8B3E, 0x9AB7, 0xEE08, 0xFF81, 0xCD1A, 0xDC93,
  14. 0x2D7D, 0x3CF4, 0x0E6F, 0x1FE6, 0x6B59, 0x7AD0, 0x484B, 0x59C2,
  15. 0xA135, 0xB0BC, 0x8227, 0x93AE, 0xE711, 0xF698, 0xC403, 0xD58A,
  16. 0x3656, 0x27DF, 0x1544, 0x04CD, 0x7072, 0x61FB, 0x5360, 0x42E9,
  17. 0xBA1E, 0xAB97, 0x990C, 0x8885, 0xFC3A, 0xEDB3, 0xDF28, 0xCEA1,
  18. 0x3F4F, 0x2EC6, 0x1C5D, 0x0DD4, 0x796B, 0x68E2, 0x5A79, 0x4BF0,
  19. 0xB307, 0xA28E, 0x9015, 0x819C, 0xF523, 0xE4AA, 0xD631, 0xC7B8,
  20. 0x48C8, 0x5941, 0x6BDA, 0x7A53, 0x0EEC, 0x1F65, 0x2DFE, 0x3C77,
  21. 0xC480, 0xD509, 0xE792, 0xF61B, 0x82A4, 0x932D, 0xA1B6, 0xB03F,
  22. 0x41D1, 0x5058, 0x62C3, 0x734A, 0x07F5, 0x167C, 0x24E7, 0x356E,
  23. 0xCD99, 0xDC10, 0xEE8B, 0xFF02, 0x8BBD, 0x9A34, 0xA8AF, 0xB926,
  24. 0x5AFA, 0x4B73, 0x79E8, 0x6861, 0x1CDE, 0x0D57, 0x3FCC, 0x2E45,
  25. 0xD6B2, 0xC73B, 0xF5A0, 0xE429, 0x9096, 0x811F, 0xB384, 0xA20D,
  26. 0x53E3, 0x426A, 0x70F1, 0x6178, 0x15C7, 0x044E, 0x36D5, 0x275C,
  27. 0xDFAB, 0xCE22, 0xFCB9, 0xED30, 0x998F, 0x8806, 0xBA9D, 0xAB14,
  28. 0x6CAC, 0x7D25, 0x4FBE, 0x5E37, 0x2A88, 0x3B01, 0x099A, 0x1813,
  29. 0xE0E4, 0xF16D, 0xC3F6, 0xD27F, 0xA6C0, 0xB749, 0x85D2, 0x945B,
  30. 0x65B5, 0x743C, 0x46A7, 0x572E, 0x2391, 0x3218, 0x0083, 0x110A,
  31. 0xE9FD, 0xF874, 0xCAEF, 0xDB66, 0xAFD9, 0xBE50, 0x8CCB, 0x9D42,
  32. 0x7E9E, 0x6F17, 0x5D8C, 0x4C05, 0x38BA, 0x2933, 0x1BA8, 0x0A21,
  33. 0xF2D6, 0xE35F, 0xD1C4, 0xC04D, 0xB4F2, 0xA57B, 0x97E0, 0x8669,
  34. 0x7787, 0x660E, 0x5495, 0x451C, 0x31A3, 0x202A, 0x12B1, 0x0338,
  35. 0xFBCF, 0xEA46, 0xD8DD, 0xC954, 0xBDEB, 0xAC62, 0x9EF9, 0x8F70
  36. };
  37. unsigned int // Returns Calculated CRC value
  38. CalculateCRC16(unsigned int crc_seed, // Seed for CRC calculation
  39. void *c_ptr, // Pointer to byte array to perform CRC on
  40. unsigned int len) // Number of bytes to CRC
  41. {
  42.         unsigned char *c = c_ptr;
  43.         unsigned int crc = crc_seed;
  44.         while (len--){
  45.                 crc = (crc << 8) ^ crctable[((crc >> 8) ^ *c++)];
  46.                 printf("%d", crc);
  47.         }
  48.         return (crc);
  49. }

  50. int main()
  51. {

  52.     printf("%d", CalculateCRC16(0xFFFF, "123456789", 2));

  53.     return 0;  
  54. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

5#
ID:416239 發(fā)表于 2019-12-10 22:04 | 只看該作者
可以從網(wǎng)上百度一個(gè)試試看
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品一区二区三区在线观看国产 | 欧美一级一 | 日韩精品视频一区二区三区 | 欧美精品中文字幕久久二区 | 在线中文字幕国产 | av中文天堂 | 美女视频黄的免费 | 免费午夜电影 | 国产精品一区二区三区在线 | 免费看a | www.色综合 | 美女黄18岁以下禁止观看 | 久久99精品久久久久蜜桃tv | 国产羞羞视频在线观看 | 色婷婷影院 | www日| 亚洲国产精品一区二区三区 | 视频一区二区中文字幕 | 成人av一区 | 国产探花在线精品一区二区 | av国产精品| 久草资源网站 | 国产成人在线一区 | 亚洲成人一级 | 久久久久久久久久久久久九 | 欧美偷偷操 | 超碰美女在线 | 国产一区二区av | 黄色网址av| 久久免费国产 | 一区二区三区播放 | 九九热最新地址 | 亚洲一二三区精品 | 欧美日韩不卡 | 黄色三级免费 | 日韩欧美一区二区三区免费观看 | 成人h视频在线观看 | 亚洲国产一区二区三区在线观看 | 久久伊人精品 | 91精品国产91久久久久福利 | 欧美精品一区二区三区在线播放 |