//目录

CRC检验

#include <bits/stdc++.h>

using namespace std;

const int maxn = 100;

char mass[maxn]="1100";
char x[maxn]="1011";
char tmp[maxn];

int main()
{
//    scanf("")
//    mass = "1100";
//    x = "1011";

    int lenx = strlen(x);
    int lenmass = strlen(mass);
    int i,j,k;
    for(i = 0; i < lenx-1; i++) mass[i+lenmass] = '0';

    lenmass += (lenx-1);

    for(i = lenx-1; i < lenmass; i++) {
        memset(tmp,0,sizeof(tmp));

        for(j = i-lenx+1,k=0; j <= i; j++,k++) tmp[k] = mass[j];

        if(tmp[0]=='0') continue;
        else {
            for(j = i-lenx+1,k=0; j<= i; j++,k++) {
                mass[j] = (x[k]-'0')^(tmp[k]-'0')+'0';
            }

        }

    }

    for(i = lenmass-lenx+1; i < lenmass; i++)
        printf("%c",mass[i]);
    puts("");


    return 0;
}

 

posted @ 2017-12-20 21:48  小草的大树梦  阅读(297)  评论(0编辑  收藏  举报