您当前的位置: 首页 >  c语言

FPGA硅农

暂无认证

  • 2浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

CRC循环冗余校验码的C语言实现

FPGA硅农 发布时间:2021-12-23 14:12:55 ,浏览量:2

CRC原理

计算方式如下图所示,若除数为n位,待校验的数据为k位,则先在待校验的数据后面添加n-1个0,然后再和除数进行模2除法,所谓模2除法,其实就是将竖式运算中的减法改为异或运算。

è¿éåå¾çæè¿°

 C代码实现
#include 
#include
using namespace std;

int P[4]={1,0,1,1};


void XOR(int a[4],int b[4]){
    for(int i=0;i=0;i--){
      printf("%d ",a[i]);
   }
   printf("\n");
}

void crc(int X[9],int FCS[3]){
   int result[4];
   int t=4;
   for(int i=0;i=1;i--){
          result[i]=result[i-1];
       }
       result[0]=X[t--];
       if(result[3]==1){
          XOR(result,P);
       }
       else{
          ;//和0000异或,即恒等运算
       }
       //print result
       print_result(result);
       if(t            
关注
打赏
1658642721
查看更多评论
0.0364s